开发者

When Migrating to .NET 4, Windows asks for user to enable .NET 3.51

I'm converting a fairly large project from using .NET 3.5 to .NET 4 using Visual Studio 2010. I made sure the Target Framework setting on each project file was set t开发者_JS百科o target .NET 4. I also converted third party dlls to .NET 4 or removed the dependancies. However, when I run my program on Windows 8 dev preview, it always pops up dialogs that asks user to enable .NET 3.51. I found that if I use an *.exe.config file it will suppress the dialog.

How do I check if I missed any assemblies that are still using .NET 3.5 or older references? Or is this caused by some other problem? Does *.exe manifest files affect .NET runtime version?

Please help if you have any idea what is wrong or you ran into something similar. Thanks in advance.


Root cause is most likely one of the following in Windows 8 Preview:

  1. Throws out "need to install 3.5.1" when it means "4.0"
  2. Uses some 3.5.1 assemblies for UI bits regardless of what you have programmed in
  3. Windows 8 defaults to 3.5.1 (missing config == reason to fail?) - most likely something hard coded in the OS temporarily

As far as your description, I would guess #3. As long as you are playing with a non-RTMed OS, I would bet there are some issues that people here will not be able to track down.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜