Microsoft Visual Studio IDE のビジュアル C# プロジェクトの場合、exe と dll の両方の出力を生成できるようにするには、どのような構成設定を使用すればよいですか?
質問する
2138 次
3 に答える
0
Darin がコメントで指摘しているように、これを行うための設定はありません。ただし、ビルド イベントとバッチ スクリプトを使用して実現できます。
- dll プロジェクトでビルド前のイベントを作成して、バッチ スクリプトを呼び出します。
- バッチで、dll プロジェクトの csproj をコピーします。
- コピーした csproj の XML コンテンツを変更して、出力タイプを exe に変更します。
- コピーした csproj の出力ディレクトリを変更します
- これを Visual Studio で実行します
これで、生成された csproj のコピーが取得され、exe に出力されます。2 番目の csproj を Visual Studio に追加すると、ビルドするたびに exe csproj を同期してビルドする必要があります。
いくつかのヒント:
- Powershell を使用して csproj を変更できます。こちらをご覧ください
- コピーした csproj 内のすべての cs ファイルをリンクに変更することができます。
于 2012-06-13T09:36:52.543 に答える
0
これは古い質問であることは承知していますが、ユーザー インターフェイスでは実行できない多くのことを proj ファイルで実行できます。
この特定の問題については、次のようにします。
- ReleaseExe などの新しいプロジェクト構成を作成します。
プロジェクトの csprojfile には、次の行があります。
<OutputType>Library</OutputType>
その行の後に次の行を追加します
<OutputType Condition="'$(Configuration)|$(Platform)' == 'ReleaseExe|AnyCPU'">Exe</OutputType>
プロジェクトを保存して開き、バッチ ビルドを使用して dll と exe の両方をビルドします。
Condition
良い点は、プロジェクト ファイル内のすべてのタグで属性を使用できることです。異なるサード パーティ アセンブリに基づいて 2 つのバージョンを作成する必要があるプロジェクトがあります。それを解決するには、参照タグに条件を追加するだけです。
<Reference Include="3rdParty" Condition="'$(Configuration)|$(Platform)' == 'Release1|AnyCPU'">
<HintPath>Release1\3rdParty.dll</HintPath>
</Reference>
<Reference Include="3rdParty" Condition="'$(Configuration)|$(Platform)' == 'Release2|AnyCPU'">
<HintPath>Release2\3rdParty.dll</HintPath>
</Reference>
于 2013-01-16T07:36:33.260 に答える