首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >缩短的MSBuild格式是否与较早的.NET版本兼容?

缩短的MSBuild格式是否与较早的.NET版本兼容?
EN

Stack Overflow用户
提问于 2017-10-08 15:58:37
回答 1查看 230关注 0票数 0

与以前的版本相比,VisualStudio2017中使用的MSBuild文件可以大大缩短。正如我们所解释的,例如在博客上

为了使MSBuild格式干净和可读性,删除了许多样板配置。

实际上,当您创建一个新的.NET标准项目时,生成的.csproj文件默认只包含几行代码:

代码语言:javascript
运行
复制
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netstandard1.4</TargetFramework>
  </PropertyGroup>

</Project>

但是,在相同的VS中创建普通的.NET框架项目时,.csproj文件仍将与以前一样长,其中包括几个<PropertyGroup><ItemGroup>元素、对某些默认BCL程序集的引用、调试设置的定义等。

通过手工编辑缩短的源代码以实现目标(例如.NET Framework2.0)的表面测试似乎不会导致任何问题(至少不会导致错误消息)。不过,我现在想知道:缩短的MSBuild格式可以用于针对比.NET标准?更早的框架版本吗?

EN

回答 1

Stack Overflow用户

发布于 2017-10-08 16:09:27

是的,您可以使用此语法改进任何受支持的平台。它只为您提供了一些额外的默认值。

然而,一些功能可能缺少类似于传统EF、ASP.NET和WPF的设计师支持。虽然这些项目应该编译,但您可能会遇到一些困难,需要定制msbuild才能使它们工作。

但是,如果您只是在编写库、控制台应用程序/ windows服务,那么您应该没事。

如果您想使用dotnet CLI进行编译,您需要至少针对.NET 4。如果您的目标是更低的版本,例如,net35项目将只使用来自windows或msbuild上的开发人员命令提示符的msbuild编译。

即使对于便携式目标,也有一些解决办法。例如,Netwonsoft.Json最近从具有共享c#源文件的多个csproj和sln文件的复杂设置转移到多目标到多个框架的单一合并csproj文件

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46633102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档