文件未找到异常:尽管程序集存在,但无法加载文件

25

我正在尝试创建一个自定义的成员资格和角色提供程序。这方面的代码似乎没问题,但是当我尝试进入Web Site Administration Tool的Security部分时,我会收到以下错误信息:

The invoked member is not supported in a dynamic assembly.

与第一个调用的NHibernate相关代码的第一行有关:

var cfg = new Configuration();

接着之前的问题:

系统第一次出现了一个类型为 'System.IO.FileNotFoundException' 的异常, 位于 mscorlib.dll 中。

附加信息:无法加载文件或程序集 'NHibernate.XmlSerializers, Version=3.1.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4' 或其某个依赖项。系统找不到指定的文件。

在此之前我得到了一些错误信息:

不支持所提供的区域设置名称“aspx”。

我已将提供程序放置在 App_Code 文件夹中,并在应用程序执行时将 NHibernate DLL 复制到 Bin 文件夹中。

我假设问题与提供程序无法找到所有相关的 NHibernate 类、DLL 等以及 Role 类等有关。


由于某种原因,这个问题已经消失了。


11
我认为这是一个好问题。有时在CLR异常时断点会很有用,而NHibernate.XmlSerializers异常会分散注意力。解决方法是生成NHibernate.XmlSerializers.dll的本地副本,然后将其放置在NHibernate.dll相同的目录中。说明在此处:http://www.codewrecks.com/blog/index.php/2008/02/13/sgenexe-and-strongly-named-assemblies/。NHibernate.snk在此处:https://github.com/nhibernate/nhibernate-core/blob/master/src/NHibernate.snk。sgen.exe NHibernate.dll /type:NHibernate.Cfg.MappingSchema.HbmMapping /compiler:/keyfile:NHibernate.snk - RedGreenCode
尽管可能性很小,但这个问题的答案确实帮了我。 - Moritz Both
1个回答

37
我之前也遇到过同样的问题,后来发现这并不是一个真正的问题。我的IDE设置为在异常出现时中断执行。
阅读下面这个链接后,我意识到了问题所在。

http://www.mail-archive.com/nhusers@googlegroups.com/msg06043.html

你可以直接按F5并继续运行。这就是我所知道的全部。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接