首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >试图加载无关程序集的Linq IQueryable FirstOrDefault调用

试图加载无关程序集的Linq IQueryable FirstOrDefault调用
EN

Stack Overflow用户
提问于 2018-07-17 21:30:33
回答 1查看 103关注 0票数 0

我有一个孤立的类库项目,这是一个非常大的解决方案的一部分,该解决方案执行各种Azure Media服务功能、上传资产、编码等。

我已经将这个类库用作对解决方案中其他项目的项目引用,但是当我尝试从我的主要web应用程序(web表单)引用这个库并调用AMS函数时,它尝试加载一个完全无关的程序集(水晶报告)。

只有在使用Linq表达式时才会发生这种情况,例如,通过Asset搜索Id

代码语言:javascript
复制
var assetInstance = from a in _context.Assets
                    where a.Id == assetId
                    select a;

// Reference the asset as an IAsset.
asset = assetInstance.FirstOrDefault();

当进行.FirstOrDefault()调用时,我在这里得到一个FileNotFoundException

'BusinessObjects.Enterprise.Sdk.ZipLib.netmodule‘:“无法加载文件或程序集System.IO.FileNotFoundException或其依赖项之一。找不到指定的模块。

我的主要web应用程序项目确实有水晶企业引用,异常中指出的文件确实存在于/bin目录中,这使得它变得更加奇怪。

有人知道为什么Linq扩展方法会导致对完全无关的程序集进行查找吗?

编辑7月18日/18日仍未解决,但我尝试了以下操作:-删除所有的水晶企业2016引用:代码工作-重新添加的水晶引用返回:代码工作-重新添加的水晶实现代码,并且我得到了关于不能嵌入互操作的错误,所以我需要将嵌入的互操作类型更改为False,一旦我这样做,它就会将其他的DLL和.netmodule文件引入到我的/bin文件夹中,一旦发生这种情况,错误就会再次出现,我又回到了正方形1。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-20 20:50:17

我设法解决了这个问题,以防其他人遇到类似的事情。

为了澄清,我不认为这个问题与水晶报道或Azure媒体服务有任何具体的关系。

这归结为一个简单的版本控制问题,即安装了用于水晶企业的引用,web项目的参考位置与安装的Crystal enterprise不同,只是一个小的增量构建修订版。

我仍然无法解释是什么导致Linq扩展方法加载一个无关的水晶企业程序集,但问题是,与项目中引用的DLL相比,/bin目录中拖出了一个不同的DLL。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51390467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档