我有当前的问题。我想实现“Config Transformations”让我的生活更轻松。我目前在Visual Studio 2010中有三个构建配置。调试,QA和发布。 QA构建配置的设置已从发布构建配置中复制。
编辑:这是一个c-sharp的网络应用程序项目。
我的网站应用程序项目是我正在使用的解决方案中的15个项目之一。在我的网站中,当我右键单击web.config文件到“添加配置转换”时,只有调试和发布.config转换文件被添加,我的QA缺失:/
我环顾四周,看到有一个命令行选项,如下所示
msbuild "C:\...project.csproj" /t:TransformWebConfig /p:Configuration=QA
但在运行之后,我收到以下错误:
“没有为项目'项目'设置OutputPath属性。请检查以确保您为此项目指定了有效的配置和平台组合。
注意:在命令中,我的路径是正确的。
我只是想让所有三个构建配置都拥有自己的.config转换文件。最简单的方法是首选,谢谢!
答案 0 :(得分:3)
关于QA设置的一些内容没有为.csproj提供足够的信息,以便msbuild完成它的工作。我将重新检查您的配置设置,平台映射等。
在.csproj中,每个配置/平台都有类似的部分:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
您的QA配置要么没有定义,要么(更有可能)没有<OutputPath>
元素定义。 OutputPath是构建在bin中创建“debug”,“release”等文件夹的方式/原因。没有它,msbuild不知道输出csc.exe创建的二进制文件的位置(至少在默认的C#构建定义下)
要仔细检查,请在文本文件中打开.csproj文件。
希望能帮助您逆向设计问题。