C#-无法加载文件或程序集“ Microsoft.Expression.Encoder”
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C#-无法加载文件或程序集“ Microsoft.Expression.Encoder”,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1416字,纯文字阅读大概需要3分钟。
内容图文
我编写了一个IIS网站下托管的WCF服务库,以处理来自其他网站的服务器请求.该服务具有一种名为Encode的方法,用于对最终用户上传的视频文件进行编码.我使用以下程序集:
Microsoft.Expression.Encoder.Api2.dll,
Microsoft.Expression.Encoder.dll,
Microsoft.Expression.Encoder.Types.dll,
Microsoft.Expression.Encoder.Utilities.dll,
我已经直接从控制台应用程序测试了编码功能.但是,当我通过IIS网站进行测试时,每当我调用encode方法时,总是会抛出以下错误消息.
{"Could not load file or assembly 'Microsoft.Expression.Encoder, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. An attempt was made to load a program with an incorrect format."}
我检查了这些Dll是否在Assembly文件夹中,而不是,所以我将它们复制到GAC,并将它们复制在GAC32中.我这样做是因为当我将WCF发布到IIS网站时,它将这些Dll复制到了bin文件夹,然后我无法添加服务参考.当我从bin文件夹中删除那些Dll时,我只能添加服务引用.
将这些Dll复制到GAC.
我还阅读了一些文章,指出DLL平台与正在运行的应用程序的平台之间存在冲突.这意味着DLL是使用32位应用程序构建的,但是正在运行的应用程序是在64位应用程序下运行的,依此类推.然后我尝试将平台和框架分别设置为32和4.0,但是当我运行该应用程序时会抛出错误添加服务参考.
我感到困惑,不知道问题的根源在哪里以及如何解决.
更新:这是我的应用程序池:
解决方法:
“试图加载格式不正确的程序”,这部分为您提供密钥,当您尝试在32位进程中使用x64程序集时会发生这种情况,因此,您的IIS被设置为32位(默认情况下是这样),请使用32位dll或将IIS配置更改为以64位模式运行
内容总结
以上是互联网集市为您收集整理的C#-无法加载文件或程序集“ Microsoft.Expression.Encoder”全部内容,希望文章能够帮你解决C#-无法加载文件或程序集“ Microsoft.Expression.Encoder”所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。