繁体   English   中英

未将引用的ClassLibrary的从属DLL添加到应用程序的BIN中

[英]Dependent DLLs of referenced ClassLibrary not added to BIN of application

有关此问题的问题太多了。 我相信我已经阅读了所有内容,但仍然运气不佳。 我有一个VS2015项目,我可以毫无问题地完成下面描述的所有工作。 还要注意,我将应用程序和类库从2015年迁移到2017年所经历的过程是在2017年完全重建它们。无论如何,我在2017年使用新的应用程序和类库创建了一个新的解决方案来证明我的问题。

  1. 我创建了一个名为ClassLibrary的新库和一个名为WebApplication的 asp.net Web应用程序。
  2. 然后,我在ClassLibrary中添加了一个用于测试的nuget (我也使用对第三方DLL的文件引用对其进行了测试)。 在这种情况下,我添加了AjaxControlToolkit 18.1.0进行测试。
  3. 然后在WebApplication项目中,我引用ClassLibrary

我希望这种简单的解决方案和项目引用能够将ClassLibrary的依赖DLLS复制到WebApplication项目bin中。 它不是。 在移至VS 2017之前,这将(并且仍然在VS 2015中执行)将ClassLibrary的依赖项DLL复制到WebApplication的BIN中。 在我上面描述的VS2017项目中,AjaxControlToolkit未复制到BIN,我只看到ClassLibrary.dll,但没有依赖项。

正如一些帖子所建议的,我试图在WebApplication项目代码中“使用” AjaxControlToolkit。 这不起作用,因为该程序集在项目中不可用,并且我收到构建错误。 根据我在Stack上发现的建议,我以多种不同方式修改了.csproj文件,但没有任何效果。

更奇怪的是,我在垃圾箱中看到了DLL,但未在项目参考中列出。 即使DLL位于垃圾箱中,我也无法使用它。 在此处输入图片说明

到底是怎么回事? 这是一个非常简单的引用练习,在Google上进行了两天的搜索之后,似乎很多人都遇到了这个问题。 为什么这些DLL不能一直流到父应用程序BIN?

谢谢

在我的帖子中,我提到最初在VS2015中创建的这些项目然后在VS2017中重新创建。 此过程将原始网站项目转换为Web应用程序项目。

如前所述这里 ,在当ClassLibrary作为项目引用引用的网站项目“相关的组件,XML文档文件,许可文件,资源文件等的副本。” (这包括ClassLibrary中已安装的Nugets)被复制到项目BIN。 Web应用程序不是这种情况。 看到这里的差异。 无论在哪里需要安装NuGet,都不会像在Web站点项目中那样从子引用中继承它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM