以编程方式更新Visual Studio项目引用

Gar*_*nes 8 .net visual-studio

我希望以编程方式更新Visual Studio解决方案中项目中的引用.

我的解决方案中有大约15个项目,当我开发/调试时,我希望引用指向解决方案中的项目.

作为我的发布过程的一部分,我有时需要复制一个项目,然后更新引用以指向某个文件夹中的内置dll.

我可以计算出项目文件的结构以及引用如何在其中工作,我正在考虑构建一个命令行工具来解析项目文件并根据需要更改引用.

我的问题是:
1.这听起来是否合理
2.有没有人有这方面的经验和/或他们如何处理开发和发布模式之间的切换
3.有没有人有任何处理解析Visual Studio项目文件的库.

澄清:

谢谢你的回复.也许我应该澄清一些我希望使用它的情况.

a)我的应用程序包含15个项目.我尽量保持解决方案尽可能小,因为我在解决方案中有5个项目.我现在需要调试/开发没有解决,所以我加入这个项目的项目之一,但我必须: - 设置在原有项目的引用指向项目引用,而不是编译的DLL - 更改新添加引用项目指向适当的项目引用

我希望我的工具能够自动执行此操作,这是我所知道的唯一方法,因此目前操作项目文件

b)作为Service Pack构建过程的一部分,我会获取其中一个项目的副本,进行必要的代码更改并使用Visual Studio进行构建.为此,我必须更改编译的dll的所有引用

Jar*_*Par 10

我认为更好的方法是直接在项目文件中的引用上使用条件块.然后你需要做的就是在msbuild中为"release"构建设置一个特定的标志,它将获取正确的引用.

例如

<ItemGroup Condition="'$(IsRelease)'=='True'">
  <Reference Include="..." />
</ItemGroup>
<ItemGroup Condition="'$(IsRelease)'!='True'">
  <Reference Include="..." />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)