Visual Studio 2010发布Web功能不包括所有DLL
我有一个ASP.NET MVC 2应用程序。
当我执行本地构建时,一切都很酷。 所有DLL都包含在bin debug文件夹中。 问题是,当我在Visual Studio 2010中使用Publish Web命令时,它将部署除了ExternalAssembly2之外的所有内容。
它似乎忽略不直接使用的程序集(请记住,ExternalAssembly2仅由ExternalAssembly1使用)。
有什么办法可以告诉Visual Studio 2010包含ExternalAssembly2?
我可以编写一个调用ExternalAssembly2的虚拟方法。 这确实奏效,但我真的不希望虚拟代码的唯一目的是导致VS2010发布该DLL。
在我看来,这些答案都不够。 这似乎确实是一个真正的bug。 如果我找到非黑客解决方案,或者Microsoft修复此错误,我将更新此响应。
更新:
看起来并不乐观。 https://connect.microsoft.com/VisualStudio/feedback/details/731303/publish-web-feature-not-including-all-dlls
我有这个相同的问题(不同的程序集虽然)。 如果我在Web项目中引用程序集,那么它们将包含在发布输出中,但无论如何它们都应该被包含,因为它们是间接依赖项:
Web Project ---> Assembly A ---> Assembly B
在构建上,程序集A和B输出到 bin文件夹。 在发布时,只有组件A输出到发布文件夹。
我曾尝试更改发布设置以在Web项目中包含所有文件,但随后我的发布输出中的文件不应该部署。
这对我来说似乎是一个错误。
我遇到了与VS2010和WCF服务应用程序相同的问题。
事实证明,如果您的(直接或间接)引用的DLL被部署到GAC,VS发布功能将它们排除在外。 一旦我从GAC中删除程序集,发布功能就开始按预期工作。
我想VS假设如果您的程序集可以位于您构建的机器上的GAC中,那么它们也将位于目标机器上的GAC中。 至少在我的情况下,这个假设是错误的。
链接地址: http://www.djcxy.com/p/14317.html上一篇: Visual Studio 2010 Publish Web feature not including all DLLs
下一篇: 1 fingerprint certificate in Android Studio for debug mode?