所以我们的构建系统和源代码控制系统来自Perforce,这是一个poopers。
我们想要将项目中dll的引用更改为其他位置,例如,当前引用可能是C:\ blah \ debug \ blah.dll,我们要更改它d:\ codeinjected \ blah \ debug \ blah.dll
但是我们不希望这样做是VStudio项目文件,因为那也是我们的MSBuild构建实验室文件,所以有没有办法制作一个可以动态执行的插件,而无需实际更改引用?
答案 0 :(得分:1)
听起来你似乎想要改变Visual Studio项目的引用DLL的位置。最简单的方法是在MsBuild文件中添加condional结构。
<Reference Condition="$(OnDevMachine)">
...
</Reference>
<Reference Condition="$(OnLabMachine)">
...
</Reference>
另一种选择是为所有项目提供一个通用的msbuild文件。在该特定项目中,您可以创建指向引用目录的条件定义值,并让每个叶项目引用该变量。这将是更少的代码,可能更适合你的构建人。
<PropertyGroup>
<ReferenceDir Condition="$(OnDevMachine) == 'true'">Some\Dev\Path</ReferenceDir>
<ReferenceDir Condition="$(OnLabMachine) == 'true'">Some\Lab\Path</ReferenceDir>
</PropertyGroup>