최근에는 CNA 코드의 대형 코드베이스를 XNA, 특히 .Net v4 Client Profile로 이식하는 작업을 맡았습니다. 내 희망은 모든 코드를 C#으로 변환하는 대신 C++/CLI를 사용하는 것이었지만, 타당성 테스트에서 XNA에서 비 XNA 프로젝트를 참조 할 수없는 것처럼 보였고 C++/CLI XNA 프로젝트를 만들 수있는 방법이 없습니다. .XNA 프로젝트에서 C++/CLI 어셈블리 참조하기
클라이언트 프로파일을 대상으로 C++/CLI 프로젝트를 설정했지만 mscorlib (간혹 클라이언트가 아닌 버전이거나 오류가 아님)에 간접적으로 종속되어 있다고합니다. 또한 아무런 효과가 없도록 기본 라이브러리를 생략하라고했습니다.
Windows 7 64 비트에서 실행되는 Visual Studio 2010 Professional, XNA Game Studio 4와 함께 사용됩니다. 단지를 위해서. 여기
오류입니다 :The primary reference "c:\...\WindowsPhoneGame2\Debug\cpptest.dll" could not be resolved because it has an indirect dependency on the framework assembly "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" which could not be resolved in the currently targeted framework. ".NETFramework,Version=v4.0,Profile=Client". To resolve this problem, either remove the reference "c:\...\WindowsPhoneGame2\Debug\cpptest.dll" or retarget your application to a framework version which contains "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089".
가 요약하면, 질문은 : 나는 어떻게 XNA 프로젝트에서 C++/CLI 어셈블리를 사용 할 수 있습니까?
이론상으로 이것이 효과가 있습니다. XNA 3.1과 비 XNA 프로젝트 사이에서 C# Express 2008을 사용해 보았습니다. 제대로 작동했습니다. 정말로 .NET 4.0을 목표로해야합니까? .NET 2.0은 널리 사용되고 있습니다. XNA 및 비 XNA 프로젝트의 대상 프로필을 변경할 수 있어야합니다. 또한 : XNA 및 비 XNA 프로젝트 파일을 작성하고 diff 파일을 작성하면 어떻게됩니까? –
아 - 전화 * XNA 프로젝트라고 생각합니다. 그것은 조금 다릅니다. –