【问题标题】:Assembly not moving to bin folder in Visual Studio C# 2010 project程序集未移动到 Visual Studio C# 2010 项目中的 bin 文件夹
【发布时间】:2012-02-27 18:53:38
【问题描述】:

我对 Visual Studio 2010 (c#) 中的引用有疑问。我刚刚向我的类库项目添加了一个必需的 DLL(我从第 3 方 API 获得的),当我将类库项目添加到我的 cmd 应用程序时,dll 不会移动到 bin 文件夹cmd 应用程序。我已经对解决方案进行了全面清理和重建,但似乎没有帮助。当我运行 cmd 程序时,出现异常,无法加载程序集(文件丢失),这是预期的错误。链接到类库的所有其他 dll 都在 bin 文件夹中;只有新的丢失了。

有什么想法吗?

【问题讨论】:

  • 您必须选择该 dll 文件(在项目树中)并设置其属性。有一个属性不能设置为“始终复制”或“始终复制”。试试这个,如果可行,请提供反馈。
  • 属性 CopyLocal 设置为“true”,就像所有其他程序集一样。与我包含的其他 dll 进行比较时,属性页面没有区别。

标签: c# visual-studio dll


【解决方案1】:

您是添加对已编译类库 DLL 的引用,还是对整个类库项目的引用?如果是第一个,Visual Studio 不能告诉 另一个 DLL 是必需的。

第二个可能有效,虽然我不确定。

【讨论】:

  • 我将程序集引用到实际的类库项目,然后我将类库项目添加为对控制台应用程序的引用。奇怪的是,其他程序集确实出现在控制台应用程序的 bin 中,但只有新的没有。
  • 好的,这就是交易。因为类库没有直接使用 dll(没有使用它的任何方法),所以 dll 没有被移动到控制台应用程序的 bin 目录。所以我必须做的是添加对控制台应用程序的引用,即使该应用程序不使用任何方法。但是控制台应用程序所做的是为需要该 dll 的第 3 部分 API 加载配置(通过 xml)。啊!
【解决方案2】:

好的,这就是交易。因为类库没有直接使用 dll(没有使用它的任何方法),所以 dll 没有被移动到控制台应用程序的 bin 目录。所以我必须做的是添加对控制台应用程序的引用,即使该应用程序不使用任何方法。但是控制台应用程序所做的是为需要该 dll 的第 3 方 API 加载配置(通过 xml)。啊!

【讨论】:

    【解决方案3】:

    也许您的计算机上安装了一些防病毒软件,这让您感到痛苦…… 尝试将其关闭,然后重试附加 DLL

    如果是问题所在,请在 Google 上查看其他人对您的具体情况所做的事情 防病毒(和操作系统版本)

    【讨论】:

      【解决方案4】:

      假设已经进行了适当的引用,如果您使用的是安装在您的计算机上的第 3 方软件,那么当包含对其中一个 DLL 的引用时,该引用可能具有 复制本地 属性设置为 False。如果是这样,您需要将其设置为 True

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-06
        • 1970-01-01
        • 1970-01-01
        • 2017-01-24
        • 2012-12-08
        相关资源
        最近更新 更多