如果我使用" Deploy Solution"在Visual Studio中部署BizTalk应用程序。菜单选项,DLL进入GAC。
但是,如果我使用BizTalk管理控制台创建MSI,删除应用程序和DLL的所有痕迹,然后通过MSI导入和安装,GAC中有一个副本,并且所选安装目录中有另一个副本。
优秀的帖子... In BizTalk why is an MSI file both imported and installed? ...详细说明为什么导入和安装MSI有两个步骤,但不是为什么还有DLL的附加副本。
那么为什么会有DLL的第二个副本?
答案 0 :(得分:1)
技术答案是因为你有一个"添加到全局程序集缓存......"选中选项,并在BizTalk Administrator中的资源属性上设置目标位置选项。
第一个将副本放入GAC。第二个将副本放在安装文件夹中。
如果您不想在安装文件夹中找到该副本,请将目标位置设置为空白。
为什么这样默认?它几乎是一种标准的.Net实践。 BizTalk本身在Program Files和GAC上安装了很多程序集。有些虽然只是GAC,但我不知道具体原因。