很不幸的是,在cad上面敲WPF的话,您无可避免地需要将工程设置成 .NET standard 项目,
因为WPF需要判断不同的 net 版本,而传统的 .NET Framework 无法判断....
而很幸福的是,不需要改代码,只需要学习写.csporj文件就可以了...这相当于写一个xml吧...
而我们为什么要判断 net 版本呢?因为写 WPF 存在一个版本差,这个版本差分别是低版本的 net3.5 和高版本的 net4.0,
因为 net4.0 写了很多很丰富的函数.....
而WPF的MarkupExtension接口在 net3.5 和 net4.0 之间有差异,这个差异需要在 net4.0(或以上) 引用一个 System.Xaml.dll 来解决.
我们一般会在这里写上引用
但是因为要判断 net 的版本,所以需要写在这里:
这样就可以在不同的net版本上面单独加载dll了...
完整的.csporj
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFrameworks>NET35;NET40;NET45</TargetFrameworks> <OutputPath>..\..\K01.惊惊连盒\JnFox</OutputPath> </PropertyGroup> <PropertyGroup Condition="‘$(Configuration)|$(TargetFramework)|$(Platform)‘==‘Debug|net35|AnyCPU‘"> <DefineConstants>DEBUG;TRACE</DefineConstants> </PropertyGroup> <PropertyGroup Condition="‘$(Configuration)|$(TargetFramework)|$(Platform)‘==‘Release|net40|AnyCPU‘"> <DefineConstants>DEBUG;TRACE</DefineConstants> </PropertyGroup> <PropertyGroup Condition="‘$(Configuration)|$(TargetFramework)|$(Platform)‘==‘Release|net45|AnyCPU‘"> <DefineConstants>DEBUG;TRACE</DefineConstants> </PropertyGroup> <ItemGroup Condition="‘$(TargetFramework)‘ == ‘net35‘"> <PackageReference Include="CommonServiceLocator"> <Version>1.0.0</Version> </PackageReference> <PackageReference Include="MvvmLightLibs"> <Version>5.4.1.1</Version> </PackageReference> </ItemGroup> <ItemGroup Condition="‘$(TargetFramework)‘ == ‘net40‘"> <PackageReference Include="CommonServiceLocator"> <Version>2.0.2</Version> </PackageReference> <PackageReference Include="MvvmLightLibs"> <Version>5.4.1.1</Version> </PackageReference> <!--net环境加载特定的dll--> <Reference Include="System.Xaml"> <HintPath>C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Xaml.dll</HintPath> </Reference> </ItemGroup> <ItemGroup Condition="‘$(TargetFramework)‘ == ‘net45‘"> <PackageReference Include="CommonServiceLocator"> <Version>2.0.2</Version> </PackageReference> <PackageReference Include="MvvmLightLibs"> <Version>5.4.1.1</Version> </PackageReference> <!--net环境加载特定的dll--> <Reference Include="System.Xaml"> <HintPath>C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Xaml.dll</HintPath> </Reference> <PackageReference Include="System.Runtime"> <Version>4.0.0</Version> </PackageReference> <Reference Include="mscorlib.dll" /> </ItemGroup> <ItemGroup> <Reference Include="PresentationCore" /> <Reference Include="PresentationFramework" /> <Reference Include="System.Xml" /> <Reference Include="WindowsBase" /> <Reference Include="PresentationFramework" /> <Reference Include="System.Xml" /> </ItemGroup> </Project>
美哉
原文地址:https://www.cnblogs.com/JJBox/p/12677496.html
时间: 2024-10-07 15:03:31