Visual Studio 发布未将所有 DLL 复制到发布文件夹
Posted
技术标签:
【中文标题】Visual Studio 发布未将所有 DLL 复制到发布文件夹【英文标题】:Visual Studio Publish Not Copying All DLLs to Publish Folder 【发布时间】:2016-04-19 09:39:52 【问题描述】:我有一个 Web 项目 A,这是我的启动项目,我从这个 Web 项目发布。
A 引用另一个项目 -> B(A 有项目引用 B)
B 包含一个引用“ref.dll”
当我build B时,B的所有DLL,包括“ref.dll”都被复制到A的bin文件夹中
但是,当我发布 A时,我在发布的文件夹中看不到“ref.dll”。
我在某处了解到,Visual Studio 足够智能,即使它的任何方法都没有在任何地方使用,它也不会复制 DLL。就我而言,我已验证正在使用“ref.dll”中的方法。
为什么会这样?我是否需要在 WebProject A 中明确添加对“ref.dll”的引用,以便它出现在发布文件夹中?
【问题讨论】:
【参考方案1】:尝试为项目 B 中的 dll 设置 Copy Local = true。
【讨论】:
您是否尝试过删除 bin 文件夹,清理解决方案并再次重建。?如果该 dll 不在 bin 文件夹中,您会遇到什么错误? 是的,我尝试删除 bin 文件夹,清理和重建。另外,在新的工作区中尝试了同样的方法。如果没有那个 DLL,就会有一些业务逻辑失败,并且在浏览器上它会向我抛出错误页面,说 DLL 丢失。当我手动复制粘贴丢失的 DLL 时,一切正常。 令我惊讶的是,当我构建时,该 DLL 已成功复制到 bin 文件夹中,甚至当我在本地运行应用程序时,一切都很好。只有当我发布时,DLL 才会丢失。 在发布此@AniruddhaPondhe 的任何解决方案后,我也面临同样的问题 dll 丢失 如果您使用nuget管理包,请尝试删除csproj文件中的item ref。以上是关于Visual Studio 发布未将所有 DLL 复制到发布文件夹的主要内容,如果未能解决你的问题,请参考以下文章
Debug.WriteLine 未将输出写入 Visual Studio 2010 中的 OutputWindows
Visual Studio 2019 未将引用的项目添加到 deps.json