プロジェクトの構成に応じて、WinExeまたはLibraryとしてC#プロジェクトをビルドする必要があります。プロジェクト構成に基づいてcsproj OutputTypeを変更する
<PropertyGroup Condition=" '$(Configuration)' == 'Release' "> <OutputType>WinExe</OutputType> </PropertyGroup>
<OutputType Condition=" '$(Configuration)' == 'Release' ">WinExe</OutputType> <OutputType Condition=" '$(Configuration)' == 'Debug' ">Library</OutputType>
2):
1)一般PropertyGroupにおいて:
ノー運と、これらの方法の両方を試しました
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' "> <OutputType>Library</OutputType> </PropertyGroup>
これらのメソッドはどちらも動作せず、OutputTypeは常にWinExeです。奇妙なことは、WinExeのすべてのインスタンスをLibraryに変更すると、それは常にLibraryです。これは、私がそれを正常に読んでいると思っていますが、奇妙な順序で、またはWinExeがライブラリよりも優先されるようにしています。
アイデア?
<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>
これら二つの条件PropertyGroup
セクションにあなたのOutputType
要素を追加し、あなたが他のすべてのOutputType
を削除することを確認してください:あなたは少し、このように見える二つのセクションがありますあなたの.csprojファイルの先頭で
あなたのOutputType宣言が他のものの後に現れて、それを上書きする限り、上記のものがうまくいくはずです。しかし、$(OutputType)の値に基づいた追加のプロパティを含むインポートステートメントの前にも存在する必要があります –
これはVSで動作するようにしたいのですか、コマンドラインでのみOKですか? –