首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为什么nuget dll显示在Visual 2019年的项目根目录中?

为什么nuget dll显示在Visual 2019年的项目根目录中?
EN

Stack Overflow用户
提问于 2021-11-23 08:23:31
回答 1查看 314关注 0票数 0

我的解决方案中有一个SDK项目。我需要添加一个NuGet包("customLib.net"),它提供了查找文件之间差异的功能。

如果您创建了一个简单的.Net Framework4.7.2控制台应用程序并将这个NuGet添加到其中,那么它将自动下载它以及所有依赖项,包括"customLib.redist.windows.x64“。据我所知,"customLib.net.dll“是.net的API,而"customLib.dll”(来自"customLib.redist.windows.x64“包)是一个引擎本身,是为win-x64编译的。包存储在SolutionFolder/ package中。并且有一个包含所有必需引用的package.config文件。一切都如期而至。

但是,如果要将相同的NuGet包添加到SDK (类库)项目中,该项目具有相同的目标:.Net Framework4.7.2,它还应该与所有依赖项一起下载NuGet包。而且确实如此。但是它没有将包存储在SolutionFolder/packages文件夹中,并且没有任何package.config文件。它将它们存储在C驱动器上的全局NuGet存储中。问题是,当我启动应用程序时,会在运行时中抛出一个异常。

代码语言:javascript
代码运行次数:0
运行
复制
"Unable to load DLL 'customLib': The specified module could not be found.". 

输出文件夹中不存在此dll。我通过将"customLib.redist.windows.x64“NuGet包下载到项目中解决了这个问题,尽管"customLib.net”已经有了对这个包的引用。这对我来说有点奇怪,,下面是一些问题:

  1. 为什么,如果"customLib.net“依赖于"customLib.redist.windows.x64",那么它不会将依赖于customLib.redist.windows.x64的dll复制到输出文件夹中?同时,控制台应用程序在下载“libraries.
  2. Why”NuGet ( "customLib.dll“文件在Visual中的项目根目录中显示到"C:\Users\MyUsr.nuget\packages\customLib.redist.windows.x64\1.0.1\runtimes\win-x64"?

的完整路径)之后,复制两个NuGet

EN

回答 1

Stack Overflow用户

发布于 2021-11-23 09:26:38

根据描述,我可以假设您有.NET标准控制台应用程序,但是您在其中添加了.Net核心类库。这就是为什么你要面对这样的问题。

因为在.NET核心库项目中,没有package.config文件,引用直接添加到csproj文件中。以及下载到用户目录的软件包,而不是packages文件夹。

因此,您需要将.Net标准类库添加到项目中,而不是添加.NET核心库。

要了解更多关于它的信息,请参阅What is the difference between .NET Core and .NET Standard Class Library project types?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70077519

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档