如果您在同一个安装部署项目中包含Web应用程序合并模块和exe合并模块,则每个合并模块的自定义操作中的Context.Parameters [“AssemblyPath”]值会搞乱。尝试创建一个具有Web项目和这样的应用程序项目的安装部署项目:
合并模块文件最终会在正确的位置结束:
Web项目内容转到C:\ Inetpub \ wwwroot \
App项目进入'module retargetable folder'
您还会注意到每个合并模块中包含的customactions.dll最终会出现在正确的位置(一次是c:\ inetpub \ wwwroot \,另一个是'module retargetable folder')。
但Context.Parameters [“AssemblyPath”]的调试打印将在两种情况下显示相同的值(即两个合并模块)。它将是C:\ Inetpub \ wwwroot \ CustomActions.dll
或<targetdir>
\ CustomActions.dll。这是错的!
调试打印应显示
当调试打印来自基于Web项目的合并模块时,C:\ Inetpub \ wwwroot \ CustomActions.dll
当调试打印来自基于应用程序项目的合并模块时,<targetdir>
\ CustomActions.dll。
有人知道为什么每个合并模块没有更新该值吗?这是Microsoft VS中的错误吗?