我可以在VS2015 IDE中覆盖解决方案级别的项目的OutputPath吗?

时间:2016-05-06 16:47:51

标签: msbuild

我的目标是将解决方案中所有项目的OutputPath属性覆盖为$(SolutionDir)$(Configuration)\。我想在VS2015 IDE中设置它。

我不想更改.csproj或.vcxproj文件中的OutputPath(我知道如何执行此操作,并不打算对项目文件进行永久更改)。我现在只需要一个本地改变来构建。

我知道我可以通过在msbuild上设置/p:OutputPath=$(SolutionDir)$(Configuration)\从开发人员命令提示符中的命令行完成此操作。理想情况下,希望能够在IDE中执行此操作。这可能吗?

2 个答案:

答案 0 :(得分:1)

这样做的典型方法是在每个项目中导入相同的msbuild文件,并在该导入的文件中设置OutputPath。缺点:需要修改项目文件,而不是“来自VS”。优点:必须只做一次,在命令行和VS中工作,适合每个人,非常灵活和可扩展。例如,您可以根据系统上是否存在某个文件,某个环境变量或主机名等来覆盖OuputPath。

你给出的答案也有效,但也不是来自VS.但对我来说最大的缺点是如果你把你的项目交给其他人,他们将没有覆盖输出路径,即这种修改不能真正放在版本控制中。当然,如果这就是你所追求的,那就没事了。

答案 1 :(得分:0)

我能够在Developer Command Prompt中设置OutputPath然后启动VS2015,打开解决方案并构建:

"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe"