アンダースの答えは良い解決策ですが、私の場合:
- ソースツリー内にバイナリを保持するという考えは好きではありません
- 多くの dll には特定のバージョンがなく、定期的に更新されます。
私はどういうわけかこの解決策になりました:
まず、グローバル VC++ プロパティ ページをテスト プロジェクトに含めました。<Project>
これは、.csproj の上にあるタグの下にこのディレクティブを追加して、手動で行う必要があります。
<Import Project="$(UserProfile)\AppData\Local\Microsoft\MSBuild\v4.0\Microsoft.Cpp.Win32.user.props" />
C++ 環境で dll パスを定義するプロパティ/マクロにアクセスできるようになりました。
そして私は・・・それから私は
- テストプロジェクトに新しいサブフォルダーを追加しました。
"NativeDlls"
- 必要な dll をリンクとして NativeDlls フォルダーに追加しました
- リンクは絶対ですが、上記のプロパティ シートのマクロに置き換えることができます。
<Content Include="$(MyLibLocation)\GDAL18BIN\gdal18.dll">
<Link>NativeDlls\mylib.dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
これで、dll をデプロイする準備が整いました。
[TestMethod]
[DeploymentItem(@"NativeDlls")]
public void TestSomeStuff()
{
}
Anders が言及しているように、残りの作業は、デバッグ/リリースおよび 32/64 条件を設定することです。