Visual Studio中c#中用户定义的属性表宏
本文关键字:属性 用户 Studio Visual 定义 | 更新日期: 2023-09-27 18:09:11
我继承了一个c#解决方案,其中项目有一个配置的"构建后命令行"。在这个命令行中,有两个用户定义的属性表宏,它们将各种输出文件复制到特定的文件夹中。但是,当我构建任何项目时,宏被错误地定义为空字符串。
。
copy "$(TargetPath)" "$(PluginPath)'$(ConfigurationName)"
标准宏,例如$(TargetPath),工作得很好,但我看不到任何控制用户定义宏的值的方法。在构建后的步骤有一个"宏>>"按钮,显示标准宏,但没有办法,我可以看到无论是编辑它们的值或添加新的,用户定义的宏。
看起来像以前的开发人员有这个工作,所以我错过了什么?
我读到宏可以在。vsprops文件中定义,但只有Visual c++项目支持这些文件。当我查看属性管理器窗口时,我只看到消息"没有加载Visual c++项目"。(我希望用户定义的属性表宏在c++项目的"构建后命令行"中与在c#或任何语言的项目中一样有用)
通过快速搜索我发现了这个,它可能会有所帮助。
更新:在我的。csproj项目文件中添加以下内容后,我可以在构建后的命令行中使用PluginPath作为宏与copy "$(TargetPath)" "$(PluginPath)'$(ConfigurationName)"
(在Visual Studio 2008中测试)
...
<PluginPath>C:'apps'</PluginPath>
</PropertyGroup>
您可以遵循以下任何解决方案。
-
创建批处理文件并插入以下代码
设置MY_INCLUDES_DIR = D: ' MyIncludes调用"C:'Program Files (x86)'Microsoft Visual Studio 10.0'Common7'Tools'vsvars32.bat"C:'Program Files (x86)'Microsoft Visual Studio 10.0'Common7'IDE'devenv.exe" D:'MySolution.sln
双击此文件启动Visual studio解决方案。此解决方案的优点是所有项目都可以使用相同的环境变量。
-
在visual studio项目文件中定义以下xml标记。
<PropertyGroup> <MY_INCLUDES_DIR>D:'MyIncludes'</MY_INCLUDES_DIR> </PropertyGroup>
-
创建系统环境变量my_incles_dir并在visual studio中使用$(my_incles_dir)