我有一个VS2017项目,它编译成DLL,然后由其他人编写的EXE调用.这两个项目的目标都是.Net框架4.6.2.我重写了一个DLL方法来返回元组,还导入了相关的NuGet包.当我编译这个项目时,它包含了一个系统.ValueTuple.输出目录中的dll,然后将其部署到其他机器上,在这些机器上,我的dll被EXE加载并调用.但当EXE试图调用返回元组的方法时,它会崩溃:
意外错误无法加载文件或程序集的系统.ValueTuple,Version=4.0.1.0,Culture=neutral,PublicKeyToken=CC7B13FFCD2DD51'或其依赖项之一.系统找不到指定的文件.
我不明白为什么它找不到文件,因为它和我的DLL在同一个文件夹中.显然,MS并没有把这个组件包括在内.Net框架4.6.2.
请注意,我的DLL是使用计算机在Windows中注册的.配置文件.我猜如果我也添加了系统.ValueTuple.dll到这个文件,它将工作(尚未try ,不确定这是最好的方法,尤其是长期.)除了等待4.6.3并希望它包括这个组件之外,还有更好的方法吗?