Sum*_*ing 7 c# msbuild visual-studio
我有一个包含很多C#项目的解决方案,如何快速更改所有项目的配置,比如我想将输出文件夹从bin更改为MyBin.我知道C++属性表可以做类似的事情,但C#没有属性表.
您可以使用常见的“部分”项目文件来存储常见的东西。
将您想要同时更改的所有内容移动到一个独立的 .proj 文件中,例如common.proj:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<OutputPath>Debug</OutputPath>
<Platform>AnyCPU</Platform>
</PropertyGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)
比使用 msbuild导入声明将公共部分“包含”到解决方案中的每个项目中:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="common.proj" />
</Project>
Run Code Online (Sandbox Code Playgroud)
MsBuild 导入的工作方式或多或少与 C++ 包含的方式相同:在构建项目之前,所有导入指令都替换为导入文件的内容。现在您只需在一个文件中更改您的常用属性 -common.proj
有一件重要的事情要提及:VS 缓存包含的项目文件,因此您必须在对common.proj文件进行更改后重新加载所有项目(因此我建议您在主动更改时从命令行构建commom.proj)
我们使用这种方法来管理代码分析设置(因为它们在解决方案中的所有项目中应该是相同的)。
| 归档时间: |
|
| 查看次数: |
867 次 |
| 最近记录: |