Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Nuget不断添加旧的和不存在的程序集_C#_Visual Studio_Npgsql - Fatal编程技术网

C# Nuget不断添加旧的和不存在的程序集

C# Nuget不断添加旧的和不存在的程序集,c#,visual-studio,npgsql,C#,Visual Studio,Npgsql,我有一个由5个项目组成的C#解决方案。其中之一是使用npgsql驱动程序与postgresql数据库的接口。我已经使用NuGet将npgsql升级到4.1.3.1。 当我的测试失败时,我遇到了一个问题。事实证明,问题在于版本4.0.6.0中缺少assembly System.Runtime.CompilerServices.Unsafe,该版本在我的文件系统中不存在。 根据npgsql当前版本的规范,它要求至少在4.6.0版本中。 我发现4.0.6.0版是在app.config部分强制安装的,并

我有一个由5个项目组成的C#解决方案。其中之一是使用npgsql驱动程序与postgresql数据库的接口。我已经使用NuGet将npgsql升级到4.1.3.1。 当我的测试失败时,我遇到了一个问题。事实证明,问题在于版本4.0.6.0中缺少assembly System.Runtime.CompilerServices.Unsafe,该版本在我的文件系统中不存在。 根据npgsql当前版本的规范,它要求至少在4.6.0版本中。 我发现4.0.6.0版是在app.config部分强制安装的,并且每次运行updatepackeage-reinstall时都会附加在那里。 为什么会发生这种情况? 我还运行了“分析程序集依赖项”工具,它显示4.1.3.1版中的npgsql需要4.0.6.0版中的System.Runtime.CompilerServices.Unsafe,但我不确定它是从app.config还是从npgsql.dll本身读取它。 当我在npgsql.dll本身上运行相同的工具时,它显示了对旧版本的引用(见附图)。我误解了什么?

对;包版本和汇编版本之间有一个重要的区别;我怀疑4.6.0是nuget包版本;然而,在net472上,程序集版本不是这样-IIRC程序集版本仍然是4.0.6.0-它只需要程序集绑定重定向,可能
不幸的是,System.Runtime.CompilerServices.Unsafe在处理使用netstandard的库时,在netfx上进行程序集绑定是出了名的痛苦;您可能也会发现它很有用-它甚至使用System.Runtime.CompilerServices.Unsafe作为工作示例我们正在调查Npgsql 4.1.x和System.Runtime.CompilerServices.Unsafe的问题:。这应该很快得到解决。