クリストファーの回答とコードサンプル(ありがとう、クリストファー!)は、よりエレガントなソリューションの一部であると確信していますが、私たちはこれを実現するために銃を突きつけられ、非常に似ているが異なるソリューションを見つけました。
最初のステップは、アセンブリのマニフェストを作成することです。
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
<dependency>
<dependentAssembly>
<assemblyIdentity type='win32' name='Microsoft.VC80.DebugCRT' version='8.0.50608.0' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly>
<assemblyIdentity type='win32' name='Microsoft.VC80.CRT' version='8.0.50608.0' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
</dependentAssembly>
</dependency>
</assembly>
次に、[構成プロパティ]->[リンカー]->[マニフェストファイル]で[マニフェストの生成]オプションを[いいえ]に設定し、[構成プロパティ]->[マニフェストツール]->[入力と出力]で[埋め込みマニフェスト]オプションを[いいえ]に設定する必要があります。 。
最後に、新しいマニフェストをアセンブリに取り込むには、プロジェクトのビルド後の手順に次のコマンドを追加します。
mt.exe /manifest "$(ProjectDir)cppassembly.dll.manifest" /outputresource:"$(TargetDir)\cppassembly.dll";#2 -out:"$(TargetDir)\cppassembly.dll.manifest"
ビルドしたら、Visual Studioでdllを開いて、RT_MANIFESTの下のマニフェストを表示し、マニフェストがあることを確認できます。
Christopherのコードをstdafx.hに配置すると、追加の依存関係として追加されました...マニフェストはまだv8.0.50727.762を探していました。生成されたマニフェストは次のようになりました。
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.VC80.DebugCRT" version="8.0.50608.0" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.VC80.DebugCRT" version="8.0.50727.762" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.0.50727.762" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
</dependentAssembly>
</dependency>
</assembly>
既存の依存関係を削除またはクリアする別のスイッチを追跡できませんでした。私はクリストファーのアプローチがビルド後のステップよりも好きですが、今のところこれはうまくいきます。誰かが既存の依存関係をクリアする方法について追加の入力がある場合は、それは素晴らしいことです。
ありがとう!