Visual Studio 2010 - 配置转换不起作用,未添加自定义生成配置

时间:2011-03-09 04:15:16

标签: visual-studio visual-studio-2010 web-config web-config-transform

我有当前的问题。我想实现“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转换文件。最简单的方法是首选,谢谢!

1 个答案:

答案 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文件。

希望能帮助您逆向设计问题。