600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > .net core WinFrom桌面应用程序 初体验

.net core WinFrom桌面应用程序 初体验

时间:2021-11-30 06:26:59

相关推荐

.net core WinFrom桌面应用程序 初体验

1..net Core 创建WinFrom桌面应用程序

前提是安装好.netCore开发环境,以及最新的.netCore3.0以上

使用命令创建,打开CMD,输入:dotnet new winform -o TestWFCore

上述代码会创建一个名为TestWFCore的新项目。该项目位于c:\ Users(YourAccount)下

然后把这个项目拷贝出来,放到自己想放的目录下就行,最后使用Visual Studio 打开即可,但是打开如下如图所示:

窗体设计器不可用,但是可以正常生成和运行。继续往下看

2..net Core窗体可视化设计器

下面是这个项目的csproj文件内容

把csproj的内容全部替换为下面代码:

<Project Sdk=".Sdk.WindowsDesktop"><PropertyGroup><OutputType>WinExe</OutputType><TargetFrameworks>net472;netcoreapp3.0</TargetFrameworks><UseWindowsForms>true</UseWindowsForms><LangVersion>7.3</LangVersion><AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects></PropertyGroup><ItemGroup Condition=" '$(TargetFramework)' == 'net472' "><Reference Include="System" /><Reference Include="System.Core" /><Reference Include="System.Xml.Linq" /><Reference Include="System.Data.DataSetExtensions" /><Reference Include="Microsoft.CSharp" /><Reference Include="System.Data" /><Reference Include="System.Deployment" /><Reference Include="System.Drawing" /><Reference Include=".Http" /><Reference Include="System.Windows.Forms" /><Reference Include="System.Xml" /></ItemGroup><ItemGroup Condition=" '$(TargetFramework)' == 'net472' "><!-- add From files to here to enable designer --><Compile Update="Form1.cs"><SubType>Form</SubType></Compile></ItemGroup></Project>

保存csproj文件,然后如vs有提示重新加载,就全部从新加载,要不然就关闭VS重新打开项目,就如下所示:

这样修改后,项目的属性中目标框架就变为了只读状态

因为设置了两个目标:

最终这样在生成项目的时候在debug目下会有两个目录:

netcoreapp3.0下的文件就是我们需要的可运行的所有文件。

说明:

这是目前的临时解决方案,官方后续会肯定会在.netCore项目了里面支持可视化窗体设计的,而且创建项目应该也会有相应的模版。目前使用.net core开发的winform桌面应用程序也只能在windows系统上面运行,至于以后怎么在Mac或者Linux下运行官方暂时还么有进一步发表,但是可以肯定的是以后winform肯定能跨平台的。

3.移植.net framework桌面应用程序到.net Core

可以下载:.NET可移植性分析器这个visual studio扩展,用来分析你的.net framework项目是否适合移植到.netCore:

然后根据官方教程来吧,官方教程比较详细:将 Windows 窗体桌面应用程序移植到 .NET Core

我这里按个人理解总结一下吧,主要步骤是:

创建一个空目录与需要移植的项目放在同一个目录下然后在空目录下只需要创建一个.net core的 csporj文件然后在把以前的项目关联到现在这个csporj文件上,这样以前那个项目的csporj文件可以正常打开设计窗体,从新的.sln文件打开项目(新的csporj文件)就能使用.net core 的特性最终效果是如果把两个项目同时打开,可以看到两边的代码是一样的,而两个项目使用的框架是不同的,一个是framewrok,一个是.netcore,因为代码文件都是同一个嘛,只是指定了不同的框架,但是移植后新写的.netcore的一些代码特性,原来的项目打开的话会有很多漂红的,不能用的,而且在新项目下面新建的cs文件,会在新项目的目录下(原framewrok项目的文件还是在之它自己的目录下),如下图:

这样的话只是对窗体的界面的调整设计比较方便。

移植后的项目是没有窗体的可视化设计界面的,但是我也从移植后的项目中引用了.net core 的一些nuget包,然后成功的运行并从服务器上获取了数据:

以上所有内容就是现阶段体验的情况,有一些东西也是东查一点资料西找一点,最终综合为自己所用了。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。