0

Visual Studio 2012 を使用して、アプリケーション用のプラグインを開発しています。このアプリケーションには、バージョンによって異なる API (参照する必要がある DLL) があります。プラグインのコードはバージョン 2012 および 2013 のアプリケーションで正常に動作しますが、対応するバージョンの API を使用する必要があります。

したがって、Visual Studio で異なる参照を使用して同じプロジェクトをコンパイルできますか (したがって、2 つの異なるフォルダーに出力します)、または複製プロジェクトを作成して参照を変更する唯一の方法ですか?

私が明確だったことを願っています、ありがとう

4

1 に答える 1

0

はい、できます。プロジェクト定義 (または msbuild) で条件付きコンパイル シンボルを使用してから、手動で編集してそれぞれの情報を追加する必要がある .csproj (または同様の) ファイルで再度使用できます。

シンボルに基づく API の変更に基づいて区別することもできます。

これは本番コードから変更されているため、構文エラーがある可能性があります。次のようになります。

</ItemGroup>
<Choose>
  <When Condition="$(DefineConstants.Contains('__NEW_DLL_HANDLING_1__')) And !$(DefineConstants.Contains('__NEW_DLL_HANDLING_2__'))">
    <ItemGroup>
      <Reference Include="mydll, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
        <SpecificVersion>False</SpecificVersion>
        <HintPath>..\Additional\mydll1\mydll.dll</HintPath>
      </Reference>
    </ItemGroup>
  </When>
  <When Condition="$(DefineConstants.Contains('__NEW_DLL_HANDLING_1__'))">
    <ItemGroup>
      <Reference Include="mydll, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
        <SpecificVersion>False</SpecificVersion>
        <HintPath>..\\Additional\mydll2\mydll.dll</HintPath>
      </Reference>
    </ItemGroup>
  </When>
  <Otherwise>
于 2014-02-20T09:38:19.677 に答える