引用的Nuget DLL未找到工作Visual Studio

时间:2017-09-22 01:16:07

标签: c# visual-studio dll nuget visual-studio-2017

我添加了一个名为Mpir.Net的Nuget库,它专门用于操作巨大的数字,比内置的BigInteger类快得多。当我添加它时,Visual Studio 2017能够找到DLL,将其添加到我的引用中,并根据DLL中定义的变量和函数提供建议。 Visual Studio显然能够找到DLL,与此处有很多类似问题的人提出的问题不同。

问题是当我运行程序时,它说xmpir64.dll没有找到,即使Visual Studio可以在代码编辑器中引用其中的内容。

我尝试更改目标.NET版本无济于事。问题是什么? 作为旁注,我对C#和Visual Studio都很陌生,所以请在回答时牢记这一点。 Here是指向我的解决方案资源管理器的图片的链接。

1 个答案:

答案 0 :(得分:0)

Mpir.Net是非托管库(GMP)的包装器。当它说它无法找到DLL时,它是因为它正在寻找项目文件夹中的非托管文件(xmpir64.dll)(不是引用中的托管文件夹,这是包装)。

您可能只需要单击xmpir64.dll(以及x32也是如此),查看右下角的属性,并确保将复制到输出目录设置为&#34;始终复制&#34;。< / p>

作为旁注,Mpir.NET不会正确处理其非托管资源,因此如果您有大量内存泄漏,请不要感到惊讶。我不认为我会将它用于商业代码。