我正在尝试将一些第三方DLLS部署到客户端计算机的GAC文件夹中以减少我的应用程序的安装大小...我遇到的问题是,当我在客户端计算机上运行安装程序时出现错误。 .'Error写入文件:xxxx.dll。验证您是否可以访问该目录“...我碰巧将此错误追溯到...部署包中的重复文件。
在我的VS2010安装项目中,当查看特殊文件夹“全局程序集缓存文件夹”的详细信息时,我确实看到一些项目下划线为红色,这些项目是重复的名称,但是,在项目文件中只有一个每个dll ......没有重复。
我相信一些dll依赖于每个...如何在不删除项目中的dll的情况下删除重复项?
我尝试在其中一个项下划线上单击“鼠标右键单击”并单击“删除”,但这会完全从我的项目中删除dll。
我发现了一个类似的问题here,但这没有帮助。
以下是我创建设置项目的方法
- 创建新的VS2010安装项目
- 将特殊文件夹(全局程序集缓存文件夹)添加到“文件系统” 在目标机器上“
- 右键单击Global Assembly Cache Folder并选择“添加” 文件“
- 选择我的多个DLLS
- 构建项目
醇>
答案 0 :(得分:2)
找到解决方案......只需排除依赖项文件夹中的项目。
答案 1 :(得分:1)
我在创建多个合并模块时遇到了同样的问题,然后将它们附加到其他部署项目:合并模块中的组合检测到的依赖项的相同文件最终与“两个或更多对象具有相同位置”冲突消息。
为了解决这个问题,我在文本编辑器中打开了* .vdproj文件,并确保每个合并模块为[TARGETDIR](模块可重定位文件夹)使用不同的属性名称。 通常,它之前是[NEWRETARGETABLEPROPERTY1] - 警告信息会显示给你。