2008-11-05 109 views
1

我目前有一個32位的dll使用Visual Studio 2003在C++中使用Managed Extensions創建。我現在正在嘗試編譯一個64位版本,而不必升級到C++/CLI。我一直在按照教程this location。我收到以下錯誤:編譯32位VS 2003項目到64位

fatal error C1197: cannot reference 'c:\windows\microsoft.net\framework\v1.1.4322\mscorlib.dll' as the progam has already referenced 'c:\windows\microsoft.net\framework\v2.0.50727\mscorlib.dll'

我找不出什麼是引用.NET 2.0版本的dll。

+0

與VS2003 64位? VS2003沒有配備64位交叉編譯器?!? – KTC 2008-11-05 15:46:51

+3

確實。顯然,你可以下載平臺SDK(包含一個64位編譯器)並在VS2003中進行編譯(只要你使用正確的環境變量啓動它)。 – 2008-11-05 15:50:14

回答

1

您是否在代碼中手動調用.dll文件?像這樣?

#using "C:\Windows\Microsoft.NET\Framework\v1.1.4322\mscorlib.dll 

如果是這樣,你可以改變這一行只是:

#using "mscorlib.dll" 
0

你一個鏈接到不同版本的mscorlib庫?

您是否指定/ clr選項並執行#using「mscorlib.dll」?