9

プロジェクトの構成に応じて、WinExeまたはライブラリとしてC#プロジェクトをビルドする必要があります。

私はこれらの方法の両方を運が悪かったので試しました:

1)一般的なPropertyGroupでは:

<OutputType Condition=" '$(Configuration)' == 'Release' ">WinExe</OutputType> <OutputType Condition=" '$(Configuration)' == 'Debug' ">Library</OutputType>

2)条件付きPropertyGroupの場合:

<PropertyGroup Condition=" '$(Configuration)' == 'Release' "> <OutputType>WinExe</OutputType> </PropertyGroup>

<PropertyGroup Condition=" '$(Configuration)' == 'Debug' "> <OutputType>Library</OutputType> </PropertyGroup>

これらのメソッドはどちらも機能せず、OutputTypeは常にWinExeです。奇妙なことに、WinExeのすべてのインスタンスをLibraryに変更すると、それは常にLibraryになります。これは、それらを正常に読み取っていると私に思わせますが、奇妙な順序であるか、WinExeがライブラリよりも優先されます。

何か案は?

4

1 に答える 1

15

.csproj ファイルの上部には、次のような 2 つのセクションがあります。

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
  <OutputType>Library</OutputType>
  <!-- Other properties go here -->
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
  <OutputType>Exe</OutputType>
  <!-- Other properties go here -->
</PropertyGroup>

OutputTypeこれらの 2 つの条件付きセクションに要素を追加し、PropertyGroup他のすべての要素を削除することを確認してくださいOutputType

はい、これはあなたがすでに行ったことと非常に似ていますが、私はちょうどそれを試したので、上記の方法が機能するという事実を知っています.

于 2011-07-28T22:42:10.043 に答える