Visual Studio 2012 マネージド テスト プロジェクトを c++/cli dll で使用すると問題が発生します。
最初の問題は、「.NETFramework,Version=v4.5」フレームワークに対してビルドされているため、MSB3274 を解決できないという警告です。これは、現在ターゲットになっているフレームワークよりも新しいバージョンです」 マネージド テスト プロジェクトで、ターゲット フレームワークを変更するためのプロパティ ページが見つかりません。プロジェクトをアンロードしてプロジェクトを編集すると、これを変更するためのタグが見つかりません。
次の問題は、リンカー エラー エラー LNK2020: 未解決のトークン (06000001) です。続いて別のリンカ エラー エラー LNK1120: 1 未解決の外部
C++/CLI プロジェクト
ヘッダー ファイル:
#pragma once
using namespace System;
namespace MathLibrary {
public ref class CustomMathLibrary
{
public:
int Sum(int number1, int number2);
};
}
CPP ファイル:
#include "MathLibrary.h"
int MathLibrary::CustomMathLibrary::Sum(int number1, int number2)
{
return number1 + number2;
}
次に、プロパティ ダイアログ -> 共通プロパティ -> フレームワークと参照に参照を追加して、このプロジェクトをマネージ テスト プロジェクトにリンクします。次に、プロパティ ダイアログ -> 構成プロパティ -> C/C++ -> 追加インクルードにヘッダー ファイルを追加します。ディレクトリ
単体テスト cpp ファイル
#include "stdafx.h"
#include "MathLibrary.h"
using namespace System;
using namespace System::Text;
using namespace System::Collections::Generic;
using namespace Microsoft::VisualStudio::TestTools::UnitTesting;
namespace ImdMathLibraryTest
{
[TestClass]
public ref class MathLibTest
{
public:
[TestMethod]
void SumTest()
{
Assert::AreEqual(1,1);
}
};
}
この問題を解決するためのアドバイスをくれたすべての人に感謝します。