无法加载文件或程序集“System,Version=4.0.0.0,Culture=neutral”或其依赖项之一。

5
在开发过程中,我遇到了以下错误信息:
无法加载文件或程序集“System,Version=4.0.0.0,Culture=neutral”或其某个依赖项。
这是一个在.NET 4.7.1中的WPF应用程序。已安装了几个第三方NuGet包,并且一直工作正常,直到今天出现了问题。
我添加了一些应用程序设置,并添加了一个静态的Settingshelper类以使获取这些设置更加容易:
public static string ConnectionString => Properties.Settings.Default.ConnectionString;

app.config文件中有一个ConnectionString键值对,该键值对是通过项目的属性窗口添加的。这将生成以下代码:

    [global::System.Configuration.ApplicationScopedSettingAttribute()]
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    [global::System.Configuration.DefaultSettingValueAttribute("Server=localhost;Database=xxxx;Uid=xxxx;Pwd=xxxx;")]
    public string ConnectionString {
        get {
            return ((string)(this["ConnectionString"]));
        }
    }

异常在返回语句处抛出。
一开始编译通过,没有显示错误。但是,当我更改了一行代码(某个方法中的简单字符串拼接)后,运行时出现了错误。撤消该行代码并不能解决问题。
解决方案包含主项目和几个其他项目(类库),其中主项目引用这些包含的类库。
我已经阅读过Could not load file or assembly 'System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies,但是我没有被提到的文件。我检查了.sln.csproj文件,但找不到对旧删除文件的引用。
唯一的系统区别是我安装了Windows软件开发工具包中的调试器,因为我想要分析内存转储。我卸载并重新启动了机器,以防万一。
我对C#和Visual Studio(不是一般的编程新手)非常陌生。
编辑:我还删除并添加了主项目中的System引用。删除并添加了ConnectionString键值对。
1个回答

0

看起来我找到了问题所在。在 App.config 文件中,<sectionGroup name="applicationSettings"... 部分有一个 PublicKeyToken 属性。这个属性不知何故被改成了 PublicPathToken。我不知道为什么会这样,也不知道是怎么发生的。


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