首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >C# Visual Studio项目属性和MSBuild宏

C# Visual Studio项目属性和MSBuild宏
EN

Stack Overflow用户
提问于 2018-06-07 04:58:47
回答 1查看 2.1K关注 0票数 0

为什么不能在C#项目的属性中使用MSBuild宏?这些都可以在CPP项目中找到。

例如:

在命令行控制台中创建一个空的调试命令行的主要方法在解决方案资源管理器中单击项目并单击左侧的“properties

  • Choose”在命令行参数中输入:"$(SolutionDir)"

  • Debug program

  • Notice
  • C#
  • $(SolutionDir),而不是它转换成的值。

我在"Xml文档文件路径“和其他字段中也遇到了同样的问题。

EN

回答 1

Stack Overflow用户

发布于 2018-06-07 11:05:30

为什么不能在C#项目的属性中使用MSBuild宏?这些都可以在CPP项目中找到。

这是因为C#和CPP项目引入宏的方式不同。

对于C#项目,它介绍了由.props.targets等文件组成的Microsoft.CSharp.targets文件。在您的项目文件.csproj中,您将找到以下导入:

代码语言:javascript
复制
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />

对于CPP项目,它是由属性表引入的,可以从C#项目不支持的View->Other Windows->Property Manager,中获取。

The different:

您可以使用属性表创建可应用于多个项目的项目配置,因为在.vsprops文件中定义的项目设置是可继承的,这与在项目文件(.vcproj文件)中定义的项目设置不同。因此,在.vcproj文件中定义的项目配置可以从一个或多个属性表(.vsprops文件)继承项目设置。有关更多信息,请参见属性继承。

这就是为什么你可以在CPP项目的属性中使用MSBuild宏,而不是在C#项目中。

您可以查看以下文档以了解更多详细信息:

Common macros for build commands and properties

Property Sheets (C++)

希望这能有所帮助。

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

https://stackoverflow.com/questions/50729501

复制
相关文章

相似问题

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