2010-08-17 5 views
3

최근에는 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 어셈블리를 사용 할 수 있습니까?

+0

이론상으로 이것이 효과가 있습니다. XNA 3.1과 비 XNA 프로젝트 사이에서 C# Express 2008을 사용해 보았습니다. 제대로 작동했습니다. 정말로 .NET 4.0을 목표로해야합니까? .NET 2.0은 널리 사용되고 있습니다. XNA 및 비 XNA 프로젝트의 대상 프로필을 변경할 수 있어야합니다. 또한 : XNA 및 비 XNA 프로젝트 파일을 작성하고 diff 파일을 작성하면 어떻게됩니까? –

+0

아 - 전화 * XNA 프로젝트라고 생각합니다. 그것은 조금 다릅니다. –

답변

2

XNA Game Studio는 현재 C# 언어 만 지원합니다. Windows에서 C++/CLI를 사용할 수도 있지만 제품이 다른 언어로 테스트되지 않았기 때문에 예상치 못한 문제와 문제가 발생할 수 있습니다.

Windows Phone 또는 Xbox에서는이 기능을 사용할 수 없습니다. C++/CLI에 필요한 일부 지원 어셈블리는 Windows Phone 또는 XBox에서 사용되는 .NET CF 버전에서 사용할 수 없습니다.