none
VC++ 2008舊專案升級到VC++ 2010的問題 RRS feed

  • 問題

  • OS: W7 64Bit

    IDE: VS2010

    電腦中只有裝VS2010

    舊的方案(VS2008)架構加下,主視窗是C#寫的,而子專案中有用C++/CLI寫的Wrapper,目標平台都設成x86.

    用VS2010直接開啟方案,讓VS2010自動轉換專案。

    轉換完後,清除方案再重建方案,

    在C++/CLI的專案出現下列的錯誤。

    錯誤    3    error MSB8009: .NET Framework 2.0/3.0/3.5 是以 v90 平台工具組為目標。請確認電腦上是否安裝了 Visual Studio 2008。    C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets    292    6    KorIntWrapper

    上MSDN查,得到的訊息是,變更 "屬性頁" =>"組態屬性" =>"一般"=>"平台工具" ,由V90改成V100後再建置,就不會有這樣的錯誤了。

    參考網址如下:

    http://msdn.microsoft.com/zh-tw/library/kyb7zzw4.aspx

    但問題來了,我整個方案的TargetFramework需要是2.0,若將平台工具由V90改成V100,則該組件會需要的RunTime版本是4.0

    原先參考這個組件的專案(2.0),變成不認得這個組件,就會出現找不到該類別的Error。

    我希望能在轉成VS2010後,不要再安裝VS2008。且整個方案的Target Framework維持在2.0,這樣子就無需更新客戶端的Framework了。

    照MSDN的說明,它也是有安裝VS2008的,不知道有沒有其它方式,可以不安裝VS2008。希望我表達清楚。

    謝謝


    2010年12月2日 上午 07:51

解答

所有回覆

  • 升級至VS2010, 但是保留.NET 2.0為平台比較麻煩, 您可以參考:Visual Studio 2010 C++ Project Upgrade Guide
    • 已標示為解答 Howard_cmit 2010年12月3日 上午 05:26
    2010年12月3日 上午 01:53
  • 感謝tihs給的link

    看了這篇及這篇內容提到的其它文章,得到的答案就是要VS2008。

    雖然心裡已經有底了,但心理就是覺得奇怪,微軟怎麼不一次弄到好,讓使用者只要安裝VS2010就好,

    還了舊方案還要裝個VS2008,希望以後能出個解決方案。

    註:不想再裝vs2008的原因,是因為我的系統跟程式是裝在SSD上,不然讓VS2008又佔掉一堆空間。

    謝謝tihs

    2010年12月3日 上午 05:26
  • 如果是升級成.NET 4.0, 就不需要VS2008, 但是升級了專案, 平台停留在2.0, 需要有VS2008的確很奇怪, 之前不知道碰到什麼狀況, 也是需要VC++2008才能夠偵錯舊專案, 的確很難接受
    2010年12月4日 上午 03:28