使用CruiseControl.NET和MSBuild发布网站

我正在尝试设置CruiseControl.NET以自动从SVN( VisualSVN_Server )下载新版本并将其发布到beta目录。

这是关于MSBuild的CruiseControl.NET配置文件:

 C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe C:\CI\WORKING WashMyCarHomepage\WashMyCarHomepage.csproj /noconsolelogger /p:Configuration=Debug /v:diag /p:WebProjectOutputDir=C:\inetpub\wwwroot.beta Build;Test 900 C:\Program Files (x86)\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll  

CruiseControl.NET成功运行MSBuild,但MSBuild失败:

 standard-error stream closed -- null received in event standard-output stream closed -- null received in event process exited event received 

我还试图从控制台手动运行MSBuild,以尝试它是否单独工作。 但我无法获得正确的输出(可在网上发布)。 我试过了:

 C:\Windows\Microsoft.NET\Framework\v4.0.30319>MSBuild.exe C:\CI\WORKING\WashMyCarHomepage\WashMyCarHomepage.csproj /property:OutDir=C:/CI/TEST;Configuration=Release /t:Publish 

但该项目被“跳过不可发布的项目”所忽略。

我有一个以下解决方案的结构:

 WashMyCarHomepage\WashMyCarHomepage.sln WashMyCarHomepage\Repository\Repository.csproj WashMyCarHomepage\WashMyCarHomepage\WashMyCarHomepage.csproj 

我该如何解决这个问题?

经过长期的斗争,我确实找到了解决方案。 我提供了整个CruiseControl.NET配置文件。

   C:\CI\WORKING C:\CI\BUILD      C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe C:\CI\WORKING WashMyCarHomepage\WashMyCarHomepage.csproj /p:OutputPath=bin /P:Configuration=Deploy-Dev /P:DeployOnBuild=True /P:DeployTarget=MSDeployPublish /P:MsDeployServiceUrl=localhost /P:AllowUntrustedCertificate=True /P:MSDeployPublishMethod=WMSvc /P:CreatePackageOnPublish=True /P:UserName=WindowsUsername/P:Password=WindowsPassword 900 C:\Program Files (x86)\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll    C:\Program Files (x86)\VisualSVN Server\bin\svn.exe https://localhost:8443/svn/project/trunk svn_username svn_password true true true https://localhost:8443/svn/project/tags    

请注意,“Deploy-Dev”是在VisualStudio中设置的配置。