Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 引用的DLL驻留在项目中是否可以接受';s\bin\Debug文件夹?_C#_Visual Studio_Dll_Visual Studio 2003_Bin - Fatal编程技术网

C# 引用的DLL驻留在项目中是否可以接受';s\bin\Debug文件夹?

C# 引用的DLL驻留在项目中是否可以接受';s\bin\Debug文件夹?,c#,visual-studio,dll,visual-studio-2003,bin,C#,Visual Studio,Dll,Visual Studio 2003,Bin,阿莫斯·摩西是个懦夫!“拉斯林”鳄鱼和我正在处理的这团CE/CF高尔迪安结状的意大利面条相比根本算不了什么 在我最近一次尝试以某种方式引导这个大泥球至少编译和运行时,我注意到一些引用的DLL位于项目自己的\bin\Debug文件夹中 安全可靠吗?对我来说,这似乎有点像尾巴追逐或循环引用。这似乎是可行的,但是…我是否应该把那些DLL移到别处 更新 为了清楚起见,下面是\bin\Debug中的内容: …在\bin\Release中: …以及如何引用OpenNETCF*DLL: 这似乎是可行的,

阿莫斯·摩西是个懦夫!“拉斯林”鳄鱼和我正在处理的这团CE/CF高尔迪安结状的意大利面条相比根本算不了什么

在我最近一次尝试以某种方式引导这个大泥球至少编译和运行时,我注意到一些引用的DLL位于项目自己的\bin\Debug文件夹中

安全可靠吗?对我来说,这似乎有点像尾巴追逐或循环引用。这似乎是可行的,但是…我是否应该把那些DLL移到别处

更新 为了清楚起见,下面是\bin\Debug中的内容:

…在\bin\Release中:

…以及如何引用OpenNETCF*DLL:

这似乎是可行的,但是…我是否应该把那些DLL移到别处


一般来说,我不建议将其作为参考位置。将引用的程序集复制到该文件夹是很常见的,但它们应该位于其他位置(并且在C#project文件中引用其他位置的
HintPath

清理项目不会删除它们,只要它们在源代码管理中,就不会丢失它们

在查找和安装第三方库和SDK的正确版本时,通常会遇到麻烦。当引用的库包含在bin文件夹中时,它们只需从源代码管理中签出即可工作,而无需在每个新工作站和用户的同一位置安装二进制文件,以便正确引用它们并在生成时复制它们

使用虚拟机或开发机器的磁盘映像,或正确归档所述库的安装程序,可以解决的问题

这仍然不意味着bin文件夹是一个正确的位置。我会选择在项目目录之外的库或第三方文件夹,最好是版本控制的


现在有了官方的NuGet软件包商店和私人的软件包商店,您可以使用它们来共享内部库,对于新的开发来说,这应该不再是一个问题

它们是在构建时复制到那里的,还是原始文件确实在那里?这就是“Path”属性所指向的。更糟糕的是,您的主.EXE文件可能也在那里!实际上,它在\bin\Release中。事实上,\bin\Release包含\bin\Debug中的DLL的超集。用于调试的DLL在Relase文件夹中?为了对称?请把它们去掉!(指向/bin/$Configuration的引用/提示路径……这是一个黑客攻击。新的开发!如果可能的话!这是一个过时的项目:Visual Studio 2003,必须在XP模式下工作……我需要继续吗?必须在这样一个怪物上工作几乎是违宪的(残酷和不寻常的惩罚)!