更改项目目标框架后,应用程序设置出现错误。

16

我的应用程序中使用了用户设置,如此处所述 然后我意识到在VS 2010中我使用的是.NET 4.0,而只需.NET 2.0就足够了。

当我更改了框架并构建项目后,在我的代码中每当我访问设置时,我会收到以下错误:

  

创建配置部分处理程序时出错   userSettings / Vegi_Manager.Properties.Settings:   无法加载文件或程序集   'System,Version = 4.0.0.0,   Culture = neutral,   PublicKeyToken = b77a5c561934e089'或   其依赖项之一。 系统   找不到指定的文件。   (C:\ Users \ AKSHAY \ AppData \ Local \ Microsoft \ Vegi-Manager.vshost.exe_Url_44035dlkzpfaaauiqsd4nh3f0l0yq0tv \ 1.0.0.0 \ user.config   行5)

由于未知原因,它正在使用版本4.0。 请建议我该怎么办。

5个回答

18
检查你的app.config文件,也许仍然存在类似版本4的System.Configuration.UserSettingsGroup之类的东西,你需要手动编辑并获取与版本2相关的内容。

我在我的 app.config 文件中有以下内容:sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" - Akshay J
@V4Vendetta,我已经更改到版本2,但如果我更改为2,则会显示“无法加载文件或程序集'System,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'”,我该如何解决这个问题? - Manoj

9
我遇到了同样的问题,开始在Visual Studio 2010中开发我的Outlook插件,目标是.NET 4.0框架,然后决定将其更改为3.5框架。看起来Visual Studio并没有足够智能地更新我的app.config文件,该文件仍然引用4.0版本。
正如之前的帖子所建议的那样(我稍微具体一些),通过手动编辑app.config,将所有引用“Version=4.0.0.0”更改为“Version=2.0.0.0”(显然.NET 3.5仍使用2.0.0.0)在元素及其子元素中,我能够让设置在我的情况下再次工作。

4
很可能您的解决方案中引用了一个.NET 4程序集-如果您在解决方案中打开“添加引用”窗口并使窗口变宽,您会看到有版本和运行时列...当您创建解决方案以针对.NET 4时,您可能已经添加了一个需要.NET 4运行时的程序集,现在您已经改为.NET 2,您需要将其替换为只需要.NET 2运行时的程序集。
当然,如果您使用了.NET 2中不存在的.NET 4程序集中的内容,则必须重新编写以避免使用它,或者改变想法并在.NET 4中完成!

谢谢Sohnee,这是app.config的错误。 - Akshay J

2

如果您打开app.config,请确保所有配置部分都针对.NET Framework 2而不是4。

如果您将app.config发送给我,我可以提供更多帮助。


2

在此我想补充一点,您需要更改app.config中对之前.NET框架(在本例中为4.0.0.0)的引用,改为新的系统引用.NET版本(在本例中为2.0.0.0,这也适用于.NET 3.5!)。请注意保留HTML标签。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接