2011-08-16 60 views
0

我正在將使用.NET 3.5的相當大的項目轉換爲使用Visual Studio 2010的.NET 4.我確保每個目標框架設置項目文件被設置爲以.NET 4爲目標。我還將第三方DLL轉換爲.NET 4或刪除了依賴項。但是,當我在Windows 8 dev預覽中運行我的程序時,它總是彈出一個對話框,要求用戶啓用.NET 3.51。我發現如果我使用* .exe.config文件,它會禁止對話框。遷移到.NET 4時,Windows要求用戶啓用.NET 3.51

如何檢查是否遺漏了仍在使用.NET 3.5或更舊版本引用的程序集?或者這是由其他問題引起的? * .exe清單文件是否影響.NET運行時版本?

請幫助,如果你有任何想法什麼是錯的或你碰到類似的東西。提前致謝。

回答

1

根本原因是最有可能在Windows 8預覽執行下列操作之一:

  1. 拋出了「需要安裝3.5.1」時,它的意思是「4.0」
  2. 使用一些3.5.1組件。 UI位,無論你在
  3. Windows 8中默認爲3.5.1已編程(缺少配置==理由失敗?) - 最有可能的東西在操作系統中的硬編碼暫時

至於你的記述我會猜測#3。只要你玩的是非RTMed OS,我敢打賭有一些問題是人們在這裏無法追查的。

+0

感謝您的快速回答。你碰巧知道任何好的工具來驗證我的程序是否仍然依賴於舊的.net程序集?對於第三方dll,我用ildasm.exe手動反編譯了一堆.dll文件,並檢查清單中的.net程序集的引用版本號。一定會有更好的辦法。 –

+0

Windows 8不包含CLR的3.5版本,但如果應用程序需要,它將按需安裝。 –