c# - 无法加载文件或程序集 'System.ValueTuple'

标签 c# .net dll c#-7.0 valuetuple

我有一个编译为 DLL 的 VS2017 项目,然后由其他人编写的 EXE 调用该 DLL。这两个项目都针对 .Net Framework 4.6.2。我重写了一个 DLL 方法以返回一个元组,还导入了关联的 NuGet 包。当我编译项目时,它在输出目录中包含 System.ValueTuple.dll,然后将其部署到其他机器,在这些机器上我的 DLL 被加载并由 EXE 调用。但是,当 EXE 尝试调用返回元组的方法时,它崩溃了:

Unexpected Error Could not load file or assembly 'System.ValueTuple, Version=4.0.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies. The system cannot find the file specified.

我不明白为什么找不到文件,因为它与我的 DLL 位于同一文件夹中。显然 MS 没有在 .Net Framework 4.6.2 中包含这个程序集。

请注意,我的 DLL 是使用 machine.config 文件在 Windows 中注册的。我猜想如果我也将 System.ValueTuple.dll 添加到该文件中,它将起作用(尚未尝试并且不确定这是最好的方法,尤其是长期的方法。)除了等待 4.6 之外还有更好的方法吗.3 并希望它包括这个程序集?

最佳答案

好吧,这感觉完全不对,但我删掉了

  <dependentAssembly>
    <assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
  </dependentAssembly>

这是我的主应用程序的 web.config。

我真的只是看看发生了什么,看看是否存在潜在的依赖关系或其他东西,并不期望它运行。 它只是继续工作,我最近几天添加的所有新功能仍然有效。

关于c# - 无法加载文件或程序集 'System.ValueTuple',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42867434/

相关文章:

.NET Windows 窗体自定义设计器不刷新菜单

c++ - 无法导出 C++ Builder 64 位 DLL 中的函数

c++ - Qt 5.4.0 部署问题 - msvcrt.dll 中缺少 vsprintf_s

c# - 将一个数组与另一个数组进行匹配

c# - String.Concat 、string.format 和 + 之间有什么区别?

c# - 如何使用 C#.net 将对象的属性导入用户控件?

c# - 如何以编程方式诊断原因、修复或解决与 Adob​​e ActiveX/COM 相关的错误 0x80004005?

c# - 将大图像文件上传到 SharePoint 时出现问题

c# - 使用 LINQ 我如何连接集合中项目的字符串属性

c# - 如何将 .wav 格式的声音附加到彼此