如何避免msbuild发布引用的项目?

rob*_*r78 5 msbuild visual-studio

我有一个包含 3 个项目的 Visual Studio 2013 解决方案(称为 Twins):

  1. 类库(Lib)
  2. WCF 服务应用程序 (WCF)
  3. ASP .NET MVC 应用程序(站点)

参考

  • 站点引用 WCF 和 Lib。
  • WCF 参考库。

我正在尝试使用 msbuild 从命令行构建和发布(WebPublishMethod = FileSystem) 站点和 WCF。

这适用于 WCF 项目(为了清楚起见,分为多行):

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe 
.\Twins.sln /t:Wcf
/p:"VisualStudioVersion=12.0;PublishProfile=wcfprofile;DeployOnBuild=true" 
Run Code Online (Sandbox Code Playgroud)

这对于站点项目失败:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe
.\Twins.sln /t:Site
/p:"VisualStudioVersion=12.0;PublishProfile=siteprofile;DeployOnBuild=true" 
Run Code Online (Sandbox Code Playgroud)

简短的错误消息

The value for PublishProfile is set to 'siteprofile', 
expected to find the file at
\Twins\Wcf\Properties\PublishProfiles\siteprofile.pubxml'
but it could not be found.
Run Code Online (Sandbox Code Playgroud)

详细错误信息

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Web\Microsoft.Web.Publishing.targets(4331,5):
error : 
The value for PublishProfile is set to 'siteprofile', 
expected to find the file at 
'C:\Users\USERNAME\code\Twins\Wcf\Properties\PublishProfiles\siteprofile.pubxml'
but it could not be found.
[C:\Users\USERNAME\code\Twins\Wcf\Wcf.csproj]
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Web\Microsoft.Web.Publishing.targets(4338,4):
error : 
PublishProfile(siteprofile) is set. 
But the $(WebPublishMethod) does not have a valid value. 
Current Value is "".
[C:\Users\USERNAME\code\Twins\Wcf\Wcf.csproj]
Run Code Online (Sandbox Code Playgroud)

在 Visual Studio 中,我可以右键单击站点,选择发布,选择站点发布配置文件,然后仅发布站点。

如何从命令行构建和发布站点项目,就像在 Visual Studio 中执行的操作一样?(WCF 项目是否也构建/发布并不重要。)