引用的DLL的NuGet未找到工作的Visual Studio
问题描述:
我加了的NuGet库调用Mpir.Net,擅长操纵巨大的数字比内置的BigInteger类做要快得多。当我添加它时,Visual Studio 2017能够找到该DLL,将其添加到我的引用中,并根据DLL中定义的变量和函数提供建议。 Visual Studio显然能够找到DLL,这与来自具有类似问题的人的许多问题不同。引用的DLL的NuGet未找到工作的Visual Studio
的问题是,当我运行程序,它说xmpir64.dll没有发现,尽管Visual Studio可以参考在代码编辑器里面的东西。
我试过改变目标.NET版本无济于事。问题是什么? 作为一个方面说明,我对C#和Visual Studio很新,所以请在回答时记住这一点。 Here是一个链接到我的解决方案资源管理器的图片。
答
Mpir.Net是一个非托管库(GMP)的包装。当它说它无法找到DLL时,这是因为它正在寻找您的项目文件夹中的非托管程序(xmpir64.dll)(而不是引用中的托管程序,它是包装程序)。
你可能只需要点击xmpir64.dll(和X32一个太),看看它在右下角的属性,并确保副本输出目录设置为“复制总是”。
作为一个侧面说明,Mpir.NET不出售其非托管资源的正确,所以如果你有一个大的内存泄漏不要感到惊讶。我不认为我会将它用于商业代码。
您是否还可以包含项目中包含的Mpir.Net.dll文件的属性视图? – CodexNZ
@CodexNZ我得到它的工作。谢谢! – Byte11