为什么Visual Studio将系统程序集复制到输出文件夹?

5 build-process visual-studio-2008

我正在使用Visual Studio 2008 SP1,但有一个有趣的问题。当我构建项目时,System.Trasactions.dll被复制到输出文件夹(/ web / bin)中。我实际上有两个问题。首先是

  1. 为什么即使未从我的项目中引用文件,Visual Studio为何也将文件复制到输出文件夹中?我的项目引用了其他程序集,但确实引用了System.Transactions.dll,但都没有指定“复制本地”。为什么这是一个问题,却提出了另一个问题:
  2. 我的操作系统是64位,但是System.Transactions.dll来自32位框架,因此该应用程序自然不会正确运行(实际上,它根本不会运行。它会导致程序集加载器错误)

任何人都经历过类似的事情吗?

Wes*_*ser 1

  1. 如果右键单击该引用,然后单击“属性”,将打开属性窗口。检查“复制本地”,您会看到它设置为 true。如果您不想复制,请将其设置为 false。

  2. 你说它来自32位框架,你能得到64位副本或msil版本吗?