我有一个程序集dll的调试版和发行版。
他们坐在我的电脑上的目录。对于其他开发人员,他们坐在计算机上的目录中。
对于我想要使用调试程序集的应用程序的调试版本。对于应用程序的发布版本,我想使用发布程序集。
这是个问题。
对于那些没有注意的人,这里有很多问题。如何在我的计算机上引用程序集,在项目检查到源代码管理之后,该程序集成为某个计算机上的有效路径。
如何使“参考”节点按解决方案类型(Debug,Release)。
我尝试将调试程序集复制到
\bin\Debug
和发布程序集
\bin\Release
并将程序集dll添加到
中的源代码控制中\ BIN \调试 \ BIN \释放
的文件夹。然后我希望程序集可以在可执行文件的文件夹中找到。
问题在于,当CopyLocal为false时,其他开发人员的计算机会收到无法覆盖程序集dll的错误。
答案 0 :(得分:8)
对这些DLL使用通用结构(通用目录名称)并链接到此亲属。
.csproj文件的示例:
<Reference Include="utils_xxx, Version=1.2.10.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\common_utils_dllproject_dir\utils\bin\$(Configuration)\utils_xxx.dll</HintPath>
</Reference>
您可能需要手动输入,但一旦进入仓库,对所有人来说都是一样的。现在你只需要说服你的开发人员调整这个目录布局和-naming。
PS:如果你忽略它:$(配置)是使用Release / Debug-DLL的技巧。
答案 1 :(得分:1)
[Parent Folder] Debug [Debug Assembly].dll Release [Release Assembly].dll
这是有效的,因为开发人员设置的引用路径存储在永远不会检入源代码管理的用户文件中。因此,每个开发者的路径可以不同。这个解决方案基本上是从Leonidas的答案中窃取的,但是使用了参考路径。
<强>声明强>
我不知道你情况的所有细节,但我个人不会这样做。我可能会在开发人员的机器上为GAC发布版本。然后我会在服务器上运行一个构建脚本来处理复杂的场景。
答案 2 :(得分:0)
包括项目并链接到项目?不知道这在你的情况下是否有用......