预构建和后构建事件

时间:2011-05-31 18:33:01

标签: .net asp.net visual-studio-2008 dll batch-file

问:

我仍然在寻找如何表现我想做的事情.. 我有一个DLL(一组类包含与数据库的连接,等等),这在几个应用程序中很常见。我的目标是:对此DLL的任何更改或修改都反映到所有应用程序都使用此DLL.i不希望在每次更改时在所有应用程序中重新发布DLL。 我做了以下但是保留了:

1-尝试将DLL放入GAC

2 - 尝试转换DLL to web service

3 - 将DLL作为项目放在同一个解决方案中,为每个应用程序使用它。这部分解决了问题。

现在我读到了Visual Studio中的预构建和后期构建事件。我想知道如何使用这些事件以及如何编写批处理来执行我想要做的事情。如果有一些代码或脚本确定如何解决问题,我将不胜感激。

提前致谢

2 个答案:

答案 0 :(得分:1)

GAC将为您效劳。但是,您必须在应用程序中触发重新编译。

此外,如果您将使用此库的其他应用程序编译为项目引用,则在执行编译和复制更新的库时,它们将更新其引用。

如果你们都引用了gac - 将文件放入gac中,但是你将添加一个不是gac的本地引用 - visual studio会检测到这个库在gac中,如果你查看你的属性引用它将显示CopyLocal = false,这意味着它将使用GAC而不是本地副本。

确保您的所有应用程序引用都具有此库的CopyLocal = false。 您不需要为此构建事件。 但请记住 - 任何使用gac库的应用程序都需要重新编译才能获取更改。例如,在web.config中添加一个空行 - 这将在现场触发重新编译。如果不进行重新编译,则无法在gac中获取更改。

答案 1 :(得分:1)

您使用的是源代码管理吗? SVN有这种东西的外部......