MSBUILD:错误 MSB1008:只能指定一个项目

154
我为什么会收到以下构建错误消息?
C:\WINDOWS\Microsoft.NET\Framework\v3.5\msbuild.exe C:\Code\EduBenesysNET\EduBenesysNET\EduBenesysNET.vbproj /t:publish /p:Configuration=Release /p:Platform=AnyCPU /v:detailed /p:PublishDir="\\BSIIS3\c$\DATA\WEBSITES\benesys.net\benesys.net\TotalEducationTest\"  /p:InstallUrl="https://www.benesys.net/benesys.net/TotalEducationTest/"  /p:ApplicationVersion=1.0.1.198  /p:ProductName="Total Education TEST"   /p:PublisherName="BeneSys, Inc."  /p:UpdateRequired="True"  /p:MinimumRequiredVersion=1.0.1.198
Microsoft (R) Build Engine Version 3.5.30729.1
[Microsoft .NET Framework, Version 2.0.50727.3603]
Copyright (C) Microsoft Corporation 2007. All rights reserved.
MSBUILD : error MSB1008: Only one project can be specified. Switch: Education
For switch syntax, type "MSBuild /help"
我没有看到第二个项目被指定在哪里,它存储在某个项目文件中吗?

5
同样的命令在PowerShell中有效,但在cmd.exe中无效...看起来你遇到了某个特殊字符序列的问题... - Cédric Rup
24个回答

0

我遇到了一个非常简单的命令问题,它没有包含任何引号、空格、斜杠或其他奇怪的字符。

我正在使用MINGW64 shell。

而在PowerShell中,完全相同的命令却可以正常工作。


0

万一有人和我一样遇到了同样的问题,我的问题是在一个“/p”参数之前缺少了“/”。从描述上并不是很清楚。希望这能帮到某些人。


0

这是一个含有多个回答的旧贴子...无论如何,我的解决方法是将/property完整地写出来(而不仅仅使用/p)。

E.g.:

dotnet publish path/to/project/ -c Release /property:AssemblyVersion=1.2.3.4 /property:Version=1.2.3.4-alpha -o path/to/out/folder

0
在我的情况下,这是因为我将多个命令组合在一起,例如:"clean publish"。不能怪我试图将Gradle和Maven CLI的做法移植到Dotnet CLI上。

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