2

現在の問題があります。生活を楽にするために「構成変換」を実装したいと考えています。現在、Visual Studio 2010 には 3 つのビルド構成があります。デバッグ、QA、およびリリースです。QA ビルド構成の設定は、リリース ビルド構成からコピーされています。

編集: これは c-sharp の Web アプリケーション プロジェクトです。

私のウェブサイト アプリケーション プロジェクトは、私が取り組んでいるソリューションの 15 のプロジェクトの 1 つです。追加、私のQAがありません:/

私は周りを見回して、次のようなコマンドラインオプションがあることを見ました

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

しかし、それを実行した後、次のエラーが発生します。

「OutputPath プロパティがプロジェクト ' project ' に設定されていません。このプロジェクトの構成とプラットフォームの有効な組み合わせを指定していることを確認してください。

注: コマンド内で、私のパスは正しいです。

3 つのビルド構成すべてに独自の .config 変換ファイルを持たせようとしています。最も簡単な方法が優先されます、ありがとう!

4

1 に答える 1

3

QA セットアップに関する何かが、msbuild が機能するのに十分な情報を .csproj に提供していません。構成設定、プラットフォーム マッピングなどを再確認します。

何が起こっているかというと、.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 は、ビルドがビンに「デバッグ」、「リリース」などのフォルダーを作成する方法/理由です。これがないと、msbuild は csc.exe で作成されたバイナリをどこに出力すればよいかわかりません (少なくとも既定の C# ビルド定義では)。

再確認するには、.csproj ファイルをテキスト ファイルで開きます。

問題のリバース エンジニアリングに役立つことを願っています。

于 2011-03-11T20:46:22.340 に答える