首先要去更新visual studio 2019 升级到 v16.8及以上,打开vs界面的最上面搜索"更新";
否则不更新的话,会出现: 找不到 .NETFramework,Version=v5.0 的引用程序集
该不会要教下载vs屎丢丢之后也要点那个net桌面开发吧.
然后新建一个.net standard(不是.net framework)工程,修改这个工程的.csproj文件,注意第一句,和我之前的standard工程不一样,之前的是:
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
而这次需要这么来:
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <!--永远支持最新语法 preview,默认是latestMajor--> <LangVersion>preview</LangVersion> <!--必须要加-windows--> <TargetFrameworks>net5.0-windows;net48</TargetFrameworks> <!-- 支持wpf --> <UseWpf>true</UseWpf> <!-- 支持winform --> <UseWindowsForms>true</UseWindowsForms> <!-- 以下是默认引用 WPF 相关依赖的属性 --> <ExtrasEnableWpfProjectSetup>true</ExtrasEnableWpfProjectSetup> <!-- 以下是默认引用 Windows Forms 相关依赖的属性 --> <ExtrasEnableWinFormsProjectSetup>true</ExtrasEnableWinFormsProjectSetup> <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> <Platforms>AnyCPU;x86;x64</Platforms> <!--dll=Library exe=WinExe 可以在属性上面改输出类型--> <OutputType>WinExe</OutputType> </PropertyGroup> <ItemGroup> <!--貌似包并没有更新到5.0..--> <!--<PackageReference Include="iTextSharp" Version="5.5.13.1" />--> </ItemGroup> </Project>
但是要注意这样的开发方案的跨平台性质,WPF和winform不是跨平台的,而框架是跨平台的.
所以这并不是一个mac Acad上面调用WPF的解决方案....仅仅是win的.从-windows你也可以知道..
然后就可以右键使用winform和wpf了.
但是包嘛....其他开发者都还没更新到这么新呢.
而编译的时候你可以调用低版本的dll,这样只是会提示一个兼容性警告.
补充20210224更新了,c#9.0语法 https://devblogs.microsoft.com/dotnet/c-9-0-on-the-record/
(完)