在我的应用程序中,我使用的是here解释的用户设置。 然后我意识到在VS 2010中我使用的是.NET 4.0,而只有.NET 2.0就足够了。
当我更改框架并构建项目时,每当我现在访问设置时,在我的代码中,我都会收到以下错误:
创建时出错 配置节处理程序 userSettings / Vegi_Manager.Properties.Settings: 无法加载文件或程序集 '系统,版本= 4.0.0.0, 文化=中性, PublicKeyToken = b77a5c561934e089'或 其中一个依赖项。系统 找不到指定的文件。 (C:\用户\阿克沙伊\应用程序数据\本地\微软\ VEGI-Manager.vshost.exe_Url_44035dlkzpfaaauiqsd4nh3f0l0yq0tv \ 1.0.0.0 \ user.config 第5行
使用4.0版的原因不明。 请建议我该怎么做。
答案 0 :(得分:19)
查看您的app.config
可能仍然有System.Configuration.UserSettingsGroup
或者仍然潜伏着的那种版本4,你必须手动编辑并获得与版本2相关的内容
答案 1 :(得分:9)
我开始在面向.NET 4.0框架的Visual Studio 2010中开发Outlook加载项,然后决定将其更改为3.5框架时遇到了同样的问题。似乎Visual Studio不够智能,无法更新我的app.config文件,该文件仍然引用了4.0。
正如之前的海报所建议的那样(我只是稍微具体一点),通过手动编辑app.config将所有引用从“Version = 4.0.0.0”更改为“Version = 2.0.0.0”(显然。 NET 3.5仍在<sectionGroup>
元素及其子元素中使用2.0.0.0),我能够在我的情况下重新设置设置。
答案 2 :(得分:4)
您的解决方案中可能引用了.NET 4程序集 - 如果在解决方案中打开“添加引用”窗口并使窗口更宽,您将看到版本中有列和Runtime ...当您创建针对.NET 4的解决方案时,您可能已经添加了对需要.NET 4运行时的程序集的引用,现在您已更改为.NET 2,您需要将其替换为程序集只需要.NET 2运行时。
当然,如果您使用.NET 4中不存在的.NET 4程序集中的某些内容,您将不得不重写以避免使用它或改变主意并在.NET 4中执行此操作代替!
答案 3 :(得分:3)
我可以在此添加您需要将app.config详细信息/对先前.NET框架(在本例中为4.0.0.0)的引用更改为新的System refence .NET版本(在本例中为2.0.0.0,即对于.NET 3.5也一样!)
答案 4 :(得分:2)
如果您打开app.config,请确保所有配置部分都定位.net framework 2而不是4
如果您将app.config发布给我,我可以提供更多帮助