C# 可以把东西放在你的垃圾箱文件夹里吗?

C# 可以把东西放在你的垃圾箱文件夹里吗?,c#,asp.net-mvc,visual-studio,iis,C#,Asp.net Mvc,Visual Studio,Iis,好的,我将这个问题指向iis、.NET、MVC上的VisualStudioIDE,但所有类型的答案都可以 问题: Q1.将项目抱怨的.ddl放入调试和发布箱可以吗 Q2.如果您先尝试清洁溶液,是否可以执行上述(Q1.)操作 Q3.有关bin文件夹的规则是什么?是的将您喜欢的任何东西放入bin文件夹,不会造成任何伤害 也就是说,在理想情况下,您的项目将正常运行,而无需手动将文件复制到bin文件夹,因此,如果您可以将所需文件添加到项目中,并将其设置为“始终复制”,以便自动显示,则这是一个更好的选择

好的,我将这个问题指向iis、.NET、MVC上的VisualStudioIDE,但所有类型的答案都可以

问题:

Q1.将项目抱怨的.ddl放入调试和发布箱可以吗

Q2.如果您先尝试清洁溶液,是否可以执行上述(Q1.)操作


Q3.有关bin文件夹的规则是什么?

是的将您喜欢的任何东西放入bin文件夹,不会造成任何伤害

也就是说,在理想情况下,您的项目将正常运行,而无需手动将文件复制到bin文件夹,因此,如果您可以将所需文件添加到项目中,并将其设置为“始终复制”,以便自动显示,则这是一个更好的选择


否则,如果您删除了bin文件夹(获得真正“干净”的bin是非常常见的做法),您必须记住将多余的文件复制回。这样做就足够了,这真的很烦人。

我不想在bin文件夹中添加所需的DLL,原因如下:

  • 我似乎记得bin文件夹在一个干净的文件夹中被清除(我认为这是准确的)
  • 当项目依赖于bin文件夹中的外部dll时,这意味着需要将bin文件夹签入源代码管理。默认情况下,源代码管理中会忽略bin文件夹(无论如何使用TFS),因此当签入bin文件夹时,它会将我抛出,并且每个更改的dll都会自己进行源代码管理
    我的首选解决方案是将nuget用于外部资源,但如果不可能,请为外部DLL添加一个单独的文件夹(我通常称之为extLib),并签入该文件夹及其内容。

    否将是我的答案。主要是因为我讨厌将bin文件夹签入版本控制。将dll放入外部文件夹并从那里引用它。更好的方法是,安装自己的nuget服务器并在其中托管dll,或者使用一个可用的服务来托管nuget软件包。

    如果您是像我这样的人,并且该文件很有价值,请小心。我经常删除整个bin和obj文件夹。您可以将文件添加到项目中并设置
    不编译
    始终复制
    复制(如果较新)
    选项,而不是自己复制文件。您不需要将它们放在bin文件夹中。您可以将它们放在项目的文件夹中,然后添加对它们的引用。当项目生成时,它会将所有引用复制到bin文件夹中。或者,如果您需要的DLL具有nuget包,您可以将nuget包添加到您的项目中。在一个完美的世界中,您应该能够核化bin文件夹并重建项目以将它们全部恢复。我使用的另一个解决方案是创建powershell脚本,将X文件夹中的文件复制到bin文件夹。然后,我将EXEC命令添加到项目文件以运行powershell脚本。bin文件夹有时不会删除“Clean”命令中添加的项目。也就是说,人们一直在删除它们+关于源代码管理,尽管文件可能已经在其他地方签入,您只需要复制它。