【发布时间】:2012-01-15 16:18:29
【问题描述】:
问题
我们在解决方案中使用配置转换。例如:调试、测试、登台、发布 但是,这些配置仅用于我们的 MVC 项目。所有的库都只使用Debug和Release,这更有意义,因为我们的库只需要在调试模式或发布模式下构建即可。
尝试从命令行构建单个项目时会出现此问题。我需要能够做到这一点,以便将我们的构建从 TeamCity 自动部署到我们的测试环境。
当我像这样构建单个项目时
msbuild myproject.csproj
/t:Build
/P:Configuration=Test
/P:Platform=AnyCPU
/P:DeployOnBuild=True
/P:DeployTarget=MSDeployPublish
/P:MsDeployServiceUrl=https://SERVER:8172/MsDeploy.axd
/P:AllowUntrustedCertificate=True
/P:MSDeployPublishMethod=WMSvc
/P:CreatePackageOnPublish=True
/P:UserName=Username
/P:Password=Passsword
/P:DeployIisAppPath="IISAPPPATH"
我收到以下错误
myproject.csproj" (构建目标) (1) -> "C:\src\myproject.csproj" (默认目标) (18) -> c:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(483,9) :错误:未为项目“sampleLibrary.csproj”设置 OutputPath 属性。 请检查以确保您指定了有效的组合 此项目的配置和平台。配置='测试' 平台='AnyCPU'。您可能会看到此消息,因为您正在尝试 构建一个没有解决方案文件的项目,并指定了一个 此项目不存在的非默认配置或平台。我知道这意味着什么,因为我的 sampleLibrary 没有用于测试的配置,并且 sampleLibrary 的映射将包含在我的 .sln 文件中
问题
有没有办法解决这个问题而不必为每个库项目添加这些配置?这里闻起来像一个丑陋的黑客。
【问题讨论】:
-
我不确定这是否专门解决了您遇到的问题,但您可能会从我的 SO 帖子 over here 中获得一些有用的信息。
标签: c# asp.net-mvc msbuild