码迷,mamicode.com
首页 > Windows程序 > 详细

cad.net WPF的MarkupExtension接口引用问题,System.Xaml.dll的引用问题

时间:2020-04-11 10:16:17      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:libs   ros   技术   project   设置   lib   spl   reference   mvvm   

很不幸的是,在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>
View Code

 

 

美哉

cad.net WPF的MarkupExtension接口引用问题,System.Xaml.dll的引用问题

标签:libs   ros   技术   project   设置   lib   spl   reference   mvvm   

原文地址:https://www.cnblogs.com/JJBox/p/12677496.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!