通过命令行使用MSBuild和多个ReferencePath

3
我该如何在MSBuild命令行中传递多个ReferencePath?我目前正在使用以下命令:
MSBuild /t:Rebuild "Solution1.sln" /p:ReferencePath="C:\My Library 1\obj\Debug; C:\My Library 2\obj\Debug"

MSBuild返回了一个MSB1006错误。请注意我的引用路径中有空格

5个回答

2
我有同样的问题。这个方法对我有效:
msbuild {{slnPath}} /t:rebuild /p:OutDir={{outputpath}} /p:Configuration=Release
针对每个参数都要指定 /p。

2

尝试将分号转义为%3b

尝试将引号移到整个属性表达式中,而不仅仅是值。

/p:"Name=Value One;Value Two"

没有起作用。它忽略了所有的ReferencePath,并使用在解决方案中声明的引用路径。 - acermate433s
我还是无论如何都不能让它工作起来,这真是让人抓狂! - acermate433s
这跟问题中的代码有什么不同? - MakePeaceGreatAgain

1

这在PowerShell中没有起作用。

msbuild C:\temp\project.sln /p:referencepath="C:\Checkout\References
\CRM 2011;C:\Checkout\References\Log4Net\4.0\release"

但是在老式的cmd提示符中可以正常工作。

0

在我的 Nant 和 Jenkins 设置中,将 ';' 替换为 '3%B' 似乎可以解决问题。


0
无论我做什么,似乎都无法使用MSBuild使其工作。现在我使用DEVENVE.EXE来编译我的解决方案;它会读取我的用户项目设置,其中保存了ReferencePath,并使用它来定位我想要使用的DLL的正确版本。

如果您要使用Visual Studio编译代码,则应调用DEVENV.com而不是DEVENV.exe。 exe将打开一个VS实例。 - SoftwareCarpenter

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接