C# · 12月 31, 2021

使用.NET(C#)时,Debug / Release输出的单独或相同文件夹?

为Debug / Release定义目标输出文件夹的最佳做法是:为Debug / Release设置单独的文件夹是否更好?或者我是否应该为两者使用相同的文件夹(使用.NET / C#时)?

我有两个独立的解决方案,因此一个解决方案的项目不能通过项目引用另一个解决方案的项目.因此,您不得不直接添加对程序集文件的引用.
这会导致另一个问题:如果您通过文件添加对另一个程序集的引用,则只能添加一个而不是一个用于调试和一个前发布(就像您可以使用C中的库一样).另一个问题是我必须添加一个引用,例如bin / Release / MyOtherProject / MyAssembly.dll.我认为这很令人困惑,特别是在构建Debug并引用Release时. =>可能会发生构建错误和版本冲突.

有没有人在大型项目和环境中构建相同目标文件夹的长期经验?

这是与Stack Overflow问题Should we still make a difference between the release and debug output folders?相关的更精确的问题.

解决方法 我们已经在.NET应用程序中使用相同的目录进行调试和发布10年,并且从未出现过问题.

此方法使大量任务变得更加容易,例如构建安装,将自定义DLL文件复制到构建后的目录,以及在输出目录中对文件进行版本控制,例如开发人员正确运行应用程序所必需的许可证文件.