为什么System.Data.SQLite在Godaddy上无法使用?如何解决?

[已解决] 为什么System.Data.SQLite在Godaddy上无法使用?如何解决?

55
[Web开发 > ASP.NET]
本地开发一切正常,但是上传到Godaddy的ASP.NET空间(ASP.NET3.5,IIS7.0)后,却出现这个错误:

Parser Error Message: Could not load file or assembly ‘System.Data.SQLite, Version=1.0.51.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139′ or one of its dependencies. Failed to grant minimum permission requests. (Exception from HRESULT: 0×80131417)

请问是怎么回事呢?如何解决?
提问时间:2010/2/21 16:23:29 | 提问者:GaLiJiKuai | 悬赏:55 | 浏览:1012
最佳答案
对,System.Data.SQLite.dll是无法在godaddy的服务器上使用的。原因是godaddy的ASP.NET2.0及以上的IIS使用了“信任级别”的限制:TrustLevel="Medium",也就是说,很多第三方的dll将无定法在这个级别下运行。必须把TrustLevel设置为"Full",才可以使用。但是出于安全考虑godaddy一般不会开发这个信任级别。

至于为什么TrustLevel="Medium",就无法使用System.Data.SQLite.dll,是因为当服务器设置了TrustLevel="Medium"之后,要求运行的dll必须是“完全托管代码”(pure managed code),并且不能包含任何的 P/Invoke调用或使用任何的原始API(raw API)调用。
不幸的是,System.Data.SQLite.dll使用了P/Invoke调用。所以无法跑在TrustLevel="Medium"级别下。

当然,如果你一定要使用SQLite数据库的话,方法是有的:
1、使用ASP.NET1.1(当然这样就没法使用很多东西,包括EF层面上的)
2、使用“托管代码”(managed code)的插件,这里有一个可以使用:http://code.google.com/p/managed-sqlite/

希望可以帮到你。
回答时间:2010/2/21 16:47:50 | 回答者:zsu
其他参考答案(0)
提交失败!请检查错误!错误信息:

注:以上所有信息由网友提供,仅供交流、参考,均不代表盛派网络言论,如果有任何问题或不妥,请立即联系我们

以下信息或许对您有用: