我最近的任務是將大量C++代碼的代碼移植到XNA,特別是.Net v4 Client Profile。我的希望是使用C++/CLI而不是將所有代碼翻譯成C#,但在我的可行性測試中,看起來您不能從XNA引用非XNA項目,並且無法創建C++/CLI XNA項目。從XNA項目引用C++/CLI程序集
我已經設置了C++/CLI項目來定位客戶端配置文件,但它仍然表示它對mscorlib(可能是非客戶端版本,或它不會是錯誤)具有間接依賴關係。我也試着告訴它忽略默認的庫,不起作用。
這是在Windows 7 64bit上運行的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項目文件並對它們進行區分呢? – 2010-08-17 15:13:20
啊 - 我看到它是*電話* XNA項目。這有點不同。 – 2010-08-17 15:19:57