我有一个包含许多C#项目的解决方案,如何快速更改所有项目的配置,比如我想将输出文件夹从bin更改为MyBin。我知道C++属性表可以做类似的事情,但C#没有属性表。
我有一个解决方案,其中包含许多C#项目,如何快速更改所有项目的配置,例如我想将输出文件夹从bin更改为MyBin。我知道C++属性表可以做类似的事情,但是C#没有属性表。我有一个包含许多C#项目的解决方案,如何快速更改所有项目的配置,比如我想将输出文件夹从bin更改为MyBin。我知道C++属性表可以做类似的事情,但C#没有属性表。
我有一个解决方案,其中包含许多C#项目,如何快速更改所有项目的配置,例如我想将输出文件夹从bin更改为MyBin。我知道C++属性表可以做类似的事情,但是C#没有属性表。<?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>
然后,使用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>
MsBuild的导入方式与C++的包含方式基本相同:在构建项目之前,所有的导入指令都会被替换为导入文件的内容。现在,你可以在一个文件common.proj
中更改你的公共属性。
需要注意一点:Visual Studio会缓存已经包含的项目文件,因此当你对common.proj
文件进行更改后,你需要重新加载所有的项目(所以我建议在你主动更改commom.proj
时从命令行执行构建)。
我们使用这种方法来管理代码分析设置(因为它们应该在解决方案中的所有项目中保持一致)。
现在,许多XML文件将以文本文件形式打开。
现在使用查找和替换功能(如果使用默认快捷键,则为control-shift-H),并设置:
OutputPath>bin\Debug</OutputPath>
MyBin\Debug
所有打开的文档
然后点击全部替换
。
接下来,对bin\Release
和MyBin\Release
也做同样的操作。
然后保存所有XML文件,然后右键单击每个项目并选择“重新加载”。
您可以在任何文本编辑器或任何命令行查找和替换工具(如sed
)中执行相同操作。如果有,请使用它们-这将使您免受右键单击/卸载所有项目的麻烦。
bin
和obj
目录。 - Roy Dictus