【问题标题】:Visual Studio 2010 Setup Project - Two or more objects have the same target locationVisual Studio 2010 安装项目 - 两个或多个对象具有相同的目标位置
【发布时间】:2011-04-20 17:06:13
【问题描述】:

我正在尝试将一些第 3 方 DLLS 部署到客户端计算机的 GAC 文件夹以减少我的应用程序的安装大小...我遇到的问题是,当我在客户端计算机上运行安装程序时出现错误。 .'写入文件时出错:xxxx.dll。验证您是否有权访问该目录”...我碰巧将此错误追溯到...部署包中的重复文件。

在我的 VS2010 安装项目中,当查看特殊文件夹“全局程序集缓存文件夹”的详细信息时,我确实看到了一些带有红色下划线的项目,它们是重复名称,但是,在项目文件中,每个 dll 中只有一个...没有重复。

我相信一些 dll 是相互依赖的...如何在不从项目中删除 dll 的情况下删除重复项?

我尝试在其中一项下划线上“右键单击”并单击删除,但这会将 dll 从我的项目中完全删除。

我发现了一个类似的问题here,但这没有帮助。

这是我创建安装项目的方式

  1. 新建一个 VS2010 安装项目
  2. 将特殊文件夹(全局程序集缓存文件夹)添加到“文件系统 在目标机器上”
  3. 鼠标右键单击全局程序集缓存文件夹并选择“添加 文件”
  4. 选择我的多个 DLLs
  5. 构建项目

【问题讨论】:

    标签: visual-studio-2010 gac setup-project


    【解决方案1】:

    找到解决方案...只需排除依赖文件夹中的项目。

    【讨论】:

      【解决方案2】:

      我在创建多个合并模块然后将它们附加到其他部署项目时遇到了同样的问题:合并模块中检测到的组件的依赖项的相同文件最终与“两个或多个对象具有相同的位置”发生冲突消息。

      为了解决这个问题,我在文本编辑器中打开了 *.vdproj 文件,并确保每个合并模块对 [TARGETDIR](模块可重定向文件夹)使用不同的属性名称。 通常,它以前是 [NEWRETARGETABLEPROPERTY1] - 警告消息会显示给您。

      【讨论】:

        猜你喜欢
        • 2023-03-30
        • 1970-01-01
        • 2012-01-10
        • 2011-06-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-13
        相关资源
        最近更新 更多