使用.Net Core开发WPF App系列教程( 三、与.Net Framework的区别)


 

SDK样式项目

新建一个WPF工程,对比.Net Framework和.Net Core的项目文件

.Net Frameworkcsproj文件中,可以看到记录了很多信息。

.Net Corecsproj中,只看到很少的记录信息。默认的设置已经不再显示了,如输出路径,平台等。

组件的引用已经默认包含在"Microsoft.NET.Sdk.WindowsDesktop"SDK中了。这种在项目文件中的 <Project> 元素中包含了SDK 属性的就称为SDK样式的项目文件(SDK-style projects)

 

 

 

Nuget包引用 

创建一个.Net Framework WPF工程和.Net Core WPF工程,同时引用 BlurWindowMongoDB.Driver包。可以看到

在.Net Framework中,Nuget包引用是通过packages.config文件来记录,且会在文件中列出每一个引用的组件

 

而在.Net Core中,是直接记录在项目工程文件(.csproj)里,并且是以包引用(PackageReference)的形式记录,更加简洁。

 

 

说明:

1、从Visual Studio 2017 Version 15.7版本开始,支持从packages.config转换到PackageReference

转换方法如下:

packages.config上右键 ,选择【将 packages.config迁移到PackageReference】

转换完成后,packages.config文件被删除,引用的Nuget包会被记录在项目工程文件(.csproj)里。

当我们把WPF程序从.Net Framework迁移到.Net Core时,就需要进行以上操作。

 

2、.Net Core WPF项目工程文件(.csproj)中不再记录当前项目包含的文件。通过检测项目工程文件路径下的文件来进行自动添加。

 

代码访问安全性(CAS)

.NET Framework提供了一种机制,用于对在同一应用程序中运行的不同代码实施不同级别的信任,称为代码访问安全性(CAS)

在.Net Core中,不再支持Code Access Security(CAS)代码访问安全性功能。

这个功能平常用得少,这里不作详细介绍,可以在推荐阅读中找到介绍CAS的链接进行了解。

 

 

推荐阅读

https://docs.microsoft.com/en-us/dotnet/desktop-wpf/migration/differences-from-net-framework

https://docs.microsoft.com/en-us/dotnet/framework/misc/code-access-security

https://docs.microsoft.com/en-us/dotnet/core/tools/csproj

https://docs.microsoft.com/en-us/nuget/consume-packages/migrate-packages-config-to-package-reference

https://docs.microsoft.com/en-us/nuget/resources/check-project-format

posted @   zhaotianff  阅读(5148)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示