C# .dll';重建/清理生成解决方案后缺少

C# .dll';重建/清理生成解决方案后缺少,c#,asp.net,dll,C#,Asp.net,Dll,我的解决方案中有3个项目和一堆第三方或公司DLL。每次我重建我的项目或干净的解决方案,这个dll的很多被删除,因此失踪。重建后一次又一次地引用此dll文件是非常烦人的。有人能解释一下如何避免这种情况吗?提前感谢。bin文件夹只是生成的二进制输出,因此在清理解决方案时,bin文件夹中的所有程序集都会被删除。您应该从其他位置引用程序集。一个建议是在项目中创建一个共享资源文件夹,将程序集复制到该文件夹中,然后从该文件夹中引用它们。这样,它们就不会在清理/重建时从bin中删除,VisualStudio会

我的解决方案中有3个项目和一堆第三方或公司DLL。每次我重建我的项目或干净的解决方案,这个dll的很多被删除,因此失踪。重建后一次又一次地引用此dll文件是非常烦人的。有人能解释一下如何避免这种情况吗?提前感谢。

bin文件夹只是生成的二进制输出,因此在清理解决方案时,
bin
文件夹中的所有程序集都会被删除。您应该从其他位置引用程序集。一个建议是在项目中创建一个
共享资源
文件夹,将程序集复制到该文件夹中,然后从该文件夹中引用它们。这样,它们就不会在清理/重建时从
bin
中删除,VisualStudio会根据需要将它们复制到该位置

  • 右键单击项目中的
    References
    文件夹,然后选择
    addreference…
  • 使用浏览功能定位要引用的程序集(不必担心手动将它们复制到
    bin
    文件夹中)
  • 添加引用后,右键单击引用列表中的引用并选择
    Properties
  • 确保
    Copy Local
    属性设置为
    True

  • 这将确保在每次生成时将程序集复制到您的
    bin
    文件夹

    在我的例子中,.net framework版本是问题所在。我不得不将它的版本降低到4.5,然后项目得到了正确的构建,并且能够在其他项目中引用它们

    您在项目中已经“引用”了它们,但它们仍然缺失?或者您只是将DLL文件复制到输出目录?在引用的“属性”菜单(在设计器中)中,它们是否具有“复制本地”(如果未设置,这可能是它们不在文件夹中的原因)@Habib我在根文件夹中创建了bin文件夹,并在那里复制了所有DLL,然后通过引用添加引用从该文件夹引用它们。@ShukhratRaimov,在项目的根目录上应该已经有一个
    bin
    文件夹了folder@Habib哦,很抱歉它以前在那里,但它没有我的dll文件。我的每个项目都有bin文件夹,但我从根bin添加了引用dll。我很困惑为什么有这么多的bin文件夹,这些引用是如何创建的,以及为什么每次重建后都要处理它们。谢谢你的回答。所以实际上,当我清理/重建我的子项目时,这个子项目中的bin文件夹将被清空。如果我重建整个解决方案,那么根目录中的bin文件夹会被删除还是子项目中的每个bin文件夹都会被清空?当您清理项目时,该项目的
    bin
    文件夹会被清空。解决方案级别没有
    bin
    文件夹,因此当您清理解决方案时,它将清空该解决方案中所有项目的
    bin
    文件夹。我认为VisualStudio有一些特殊的规则,在执行清理时会删除文件/文件夹,因此之后可能会有剩余的文件。但重要的是,
    bin
    文件夹是生成的输出,您不想从那里手动复制/引用程序集。。。