【问题标题】:VS2005: Assembly '<assembly>' is incorrectly specified as a file.VS2005:程序集“<程序集>”被错误地指定为文件。
【发布时间】:2010-09-30 23:46:50
【问题描述】:

我已在我的项目中添加了对 log4net 程序集 dll 的引用。

当我构建时,我收到一条警告:

警告程序集 'Lib\log4net.dll' 是 错误地指定为文件。

我查了help for this error on MSDN,它说:

此警告是在 应用程序清单生成时 构建过程检测到一个文件 参考实际上是一个(托管或 本机)程序集

这正是我正在做的;文件引用一个程序集。我在这里被告知什么?

如何添加对程序集 dll 的引用,而不添加对程序集 dll 的引用?

【问题讨论】:

  • 您能否从您的 .csproj 文件中发布 Log4Net dll 的 部分?

标签: visual-studio visual-studio-2005 build assemblies log4net


【解决方案1】:

尝试将源 DLL 的 Build Action 属性设置为 None。它为我们解决了这个问题。

【讨论】:

  • 我们的 log4net.dll 在 WinForms 项目的根级别。我听从了您的建议并将构建操作设置为“无”。然后我添加了该文件作为参考,并能够使用 ClickOnce 成功构建和发布项目。
  • 对于那些不来自哪里的人-->右键单击dll文件-->属性-->从Build Action菜单中选择“None”。
  • 这会导致错误消失,但在部署应用程序时会引入一个完全不同的问题 - 具有构建操作 None 的文件将不会与项目的其余部分一起部署...
  • @dubstylee 您必须将“复制到输出目录”设置为“如果较新则复制”或“始终复制”
【解决方案2】:

我自己也遇到过这个问题。

这对我有用:

我添加了一个程序集作为参考和“现有资源”。从解决方案资源管理器中删除文件,关闭,然后重新打开项目有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-13
    • 2021-10-04
    • 2020-04-06
    • 2016-04-18
    • 2015-05-28
    相关资源
    最近更新 更多