如何强制VS包含要复制到输出文件夹的GAC中使用的程序集?

时间:2014-06-23 13:14:21

标签: .net visual-studio-2010 deployment assemblies gac

我已经将OpenXML SDK安装到我的开发机器上,据我所知,它已将相关的组件注册到GAC。 (例如:DocumentFormat.OpenXml)

我开发了一个控制台应用程序。

但问题是我想在没有安装OpenXML SDK的服务器上部署这个应用程序。

问题: 如何强制Visual Studio包含要复制到输出文件夹的GAC中使用的程序集? (或者我应该找到这些程序集并将它们与控制台应用程序的输出文件夹并排复制?)

2 个答案:

答案 0 :(得分:2)

是的,我这样做:

  1. 将这些引用标记为Copy Local = true。这会在构建之后将dll放在bin文件夹中。
  2. 这对您来说已经足够了,但如果我想将这些步骤添加到源代码控制中以便其他开发/构建服务器可以找到程序集,我会执行以下步骤:

    1. 然后将它们从bin移动到解决方案中的其他文件夹。
    2. 删除原始参考。
    3. 添加对您已复制到的新位置的新引用。
    4. 它与您要执行的解决方案几乎相同,但Copy Local步骤可帮助您找到正在使用的确切dll,而不是在GAC周围寻找。

答案 1 :(得分:1)

View in Visual Studio

之前我遇到过这个问题,您需要查看程序集的属性并找到名为“复制到输出目录”的属性,然后选择“始终复制”。它可能设置为“不要复制”。这样的事情花了我一段时间来弄明白,但是当你构建和部署项目时,它包含了输出文件夹中的引用。

编辑:右键单击Visual Studio中的.dll并单击属性,第二个选项将是'复制到输出目录'