我有一些 c# 项目。我将构建后事件添加到那些将生成的程序集(dll)从 bin 复制到公共文件夹的项目中。
即使我不修改项目文件,似乎每次编译都会生成与以前不同的二进制程序集。
这对我来说是一个相当大的问题,因为我正在使用 Kiln 来监视这些文件并认为它们已被修改。
我在某处读到 dll 存储编译的时间戳,如果是真的,那么我无法解决这个问题。如果是这样,您如何管理您的共享 DLL,以使您的存储库 (Git/HG) 不会提交所有未修改的已编译项目?
谢谢,伊兰。
我有一些 c# 项目。我将构建后事件添加到那些将生成的程序集(dll)从 bin 复制到公共文件夹的项目中。
即使我不修改项目文件,似乎每次编译都会生成与以前不同的二进制程序集。
这对我来说是一个相当大的问题,因为我正在使用 Kiln 来监视这些文件并认为它们已被修改。
我在某处读到 dll 存储编译的时间戳,如果是真的,那么我无法解决这个问题。如果是这样,您如何管理您的共享 DLL,以使您的存储库 (Git/HG) 不会提交所有未修改的已编译项目?
谢谢,伊兰。
为了解决“您如何管理共享 DLL 以使您的存储库 (Git/HG) 不会提交所有未修改的已编译项目?”的具体问题,我有一个非常简单的答案: 忽略.
我们从源代码控制甚至尝试提交的目录中排除/bin
和排除。/obj
这确实意味着每次更改后您都需要在每台机器上重新编译代码,但 Visual Studio 无论如何都会对代码已更改的任何项目执行此操作。
不要提交项目的输出文件夹。
如果您希望有一个 Setup 文件夹或类似的东西,它始终包含项目创建的最新版本的程序集,解决方案是确保您的构建后事件配置为仅在构建更新项目输出时运行。有一个这样命名的选项: