2

我有当前的问题。我想实施“配置转换”以使我的生活更轻松。我目前在 Visual Studio 2010 中有三个构建配置。调试、QA 和发布。QA 构建配置的设置已从 Release 构建配置中复制。

编辑: 这是 c-sharp 中的一个 Web 应用程序项目。

我的网站应用程序项目是我正在使用的解决方案中的 15 个项目之一。在我的网站中,当我右键单击 web.config 文件以“添加配置转换”时,只有调试和发布 .config 转换文件是补充说,我的 QA 丢失了:/

我环顾四周,发现有一个命令行选项,如下所示

msbuild "C:\...project.csproj" /t:TransformWebConfig /p:Configuration=QA

但是运行之后,我收到以下错误:

“未从项目“项目”设置 OutputPath 属性。请检查以确保您已为此项目指定了配置和平台的有效组合。

注意:在命令中,我的路径是正确的。

我只是想让所有三个构建配置都有自己的 .config 转换文件。最好是最简单的方法,谢谢!

4

1 回答 1

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 中创建“调试”、“发布”等文件夹的方式/原因。没有它,msbuild 不知道在哪里输出 csc.exe 创建的二进制文件(至少在默认的 C# 构建定义下)

要仔细检查,请在文本文件中打开 .csproj 文件。

希望这可以帮助您对问题进行逆向工程。

于 2011-03-11T20:46:22.340 回答