【问题标题】:assembly file not found in asp.net project在 asp.net 项目中找不到程序集文件
【发布时间】:2011-11-11 12:57:16
【问题描述】:

我正在尝试在我的 asp.net 项目中使用 devexpress.xpo 程序集,但我无法将它添加到我的项目中。我在我的应用程序 web.config(见下文)中添加了一个程序集引用,当我在我的开发机器上运行应用程序时(与 2010 iis express 7.5 相比)一切正常。但是,当我将应用程序部署到我们的生产服务器(iis 6.0)时,我收到以下错误:

 Could not load file or assembly 'DevExpress.Xpo.v9.1' or one of its dependencies. The   system cannot find the file specified.

开发机器在 GAC 中安装了程序集,但生产服务器没有。我已经通过视觉工作室添加引用函数添加了 DevExpress.Xpo 引用,因此 DevExpress.Xpo.v9.1.dll 文件被复制到我的应用程序 bin 文件夹中。

我的 web.config:

 <configuration>
      <system.web>
        <compilation debug="true" targetFramework="4.0">
          <assemblies>
            <add assembly="DevExpress.Xpo.v9.1"/>
          </assemblies>
        </compilation>
        <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/>
      </system.web>
    </configuration>

【问题讨论】:

  • 查看 DevExpress 文档进行安装,看看是否需要在 GAC 中安装...
  • 将它安装到生产服务器 GAC 不是一种选择。(它会与另一个已经安装在那里的 devexpress 版本冲突)
  • GAC 应该允许同一个 DLL 的多个版本 - 我理解您为什么要将其保留在本地,但我不明白它为什么会发生冲突......
  • 这可能是信任问题吗?我可能错了,但我认为 DLL 是本地的,需要应用程序完全信任。

标签: asp.net web-config devexpress


【解决方案1】:

在生产服务器上的应用程序 bin 文件夹中搜索 DevExpress.Xpo 和 DevExpress.Data dll。你需要有两个 dll,因为没有 DevExpress.Data,DevExpress.Xpo 将无法工作。

此外,请在此处查看有关在 Bin 文件夹和 GAC dll 之间“选择”的讨论: http://www.devexpress.com/Support/Center/p/Q230929.aspx

【讨论】:

  • 我的 bin 文件夹中有两个 ddls。我还尝试在我的 Web 配置中添加 devexpress.data 程序集,它在 devexpress.data 程序集上产生了完全相同的错误。
  • 你可以尝试这样的完整参考(示例是另一个版本):
  • 我尝试了完整的参考方法,但仍然收到相同的错误消息。
  • 我的最后一次尝试:你能从 web.config 中删除所有 devexpress 程序集吗?
【解决方案2】:

复制每个使用的产品/套件(“部署 - 常规信息”所需的程序集文件(在“程序集”部分http://msdn.microsoft.com/en-us/library/bfyb45k1.aspx中注册的Web.config条目) ) 在 GAC 或“Bin”文件夹中。

这种方法对于任何 3 方工具 http://msdn.microsoft.com/en-us/library/ms178610%28v=vs.80%29.aspx 都很常见。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-19
    • 2015-11-23
    • 1970-01-01
    相关资源
    最近更新 更多