【问题标题】:Why does Visual Studio copy system assemblies to output folder?为什么 Visual Studio 将系统程序集复制到输出文件夹?
【发布时间】:2009-07-16 01:39:39
【问题描述】:

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

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

有人经历过类似的事情吗?

【问题讨论】:

  • 你有没有找到解决这个问题的方法?

标签: visual-studio-2008 build-process


【解决方案1】:
  1. 如果您右键单击参考,然后单击属性,将打开属性窗口。检查“复制本地”,您会看到它设置为true。如果您不希望它复制,请将其设置为 false。

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

【讨论】:

  • 1.正如我之前写的,本地复制没有设置为真。 2. 能不能具体点,什么意思?在 GAC 中,我有 AMD64 版本,但没有 MSIL。
猜你喜欢
  • 2016-12-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-10
  • 1970-01-01
  • 1970-01-01
  • 2018-07-31
相关资源
最近更新 更多