在Azure移动服务上找不到程序集
我有一个Azure在Azure移动服务上找不到程序集,azure,fluent-nhibernate,azure-mobile-services,Azure,Fluent Nhibernate,Azure Mobile Services,我有一个Azure移动服务项目,它依赖于另一个(持久性)项目,该项目引用了FluentNHibernate。在本地,一切都在Release和Debug模式下正常运行。发布该项目似乎是成功的(蓝色笑脸)。当我发出请求时,问题就开始了,其中使用了FluentNHibernate。我收到以下错误消息: 找不到程序集“FluentNHibernate,版本=2.0.3.0,区域性=中性,PublicKeyToken=null” 我已经尝试了很多东西: 重新安装软件包 一种新的普通移动服务 在主项目的W
移动服务
项目,它依赖于另一个(持久性)项目,该项目引用了FluentNHibernate
。在本地,一切都在Release
和Debug
模式下正常运行。发布该项目似乎是成功的(蓝色笑脸)。当我发出请求时,问题就开始了,其中使用了FluentNHibernate
。我收到以下错误消息:
找不到程序集“FluentNHibernate,版本=2.0.3.0,区域性=中性,PublicKeyToken=null”
我已经尝试了很多东西:
- 重新安装软件包
- 一种新的普通移动服务
- 在主项目的
中添加Web.config
,在持久性项目中添加dependentAssembly
App.config
FluentNHibernate
包的版本时,我可以在发布预览窗口中看到此dll不会更新
我真的不确定这个问题是否取决于这个特定的包(FluentNHibernate
)。例如,什么意思:PublicKeyToken=null
?
我还可以尝试什么使服务在云中运行?下面的代码适用于我的解决方案。它将处理程序连接到AppDomain的AssemblyResolve事件,如果找不到程序集,将引发该事件。在本例中,我告诉它检查当前加载的程序集,如果存在匹配项,则返回一个,FluentNHibernate应该有匹配项。尝试将其作为WebApiConfig.Register中的第一行
public static void Register()
{
AppDomain.CurrentDomain.AssemblyResolve += (sender, args) =>
{
return AppDomain.CurrentDomain.GetAssemblies()
.Where(a => a.FullName == args.Name).FirstOrDefault();
};
// the rest of WebApiConfig.Register...
}
下面的代码适用于我的解决方案。它将处理程序连接到AppDomain的AssemblyResolve事件,如果找不到程序集,将引发该事件。在本例中,我告诉它检查当前加载的程序集,如果存在匹配项,则返回一个,FluentNHibernate应该有匹配项。尝试将其作为WebApiConfig.Register中的第一行
public static void Register()
{
AppDomain.CurrentDomain.AssemblyResolve += (sender, args) =>
{
return AppDomain.CurrentDomain.GetAssemblies()
.Where(a => a.FullName == args.Name).FirstOrDefault();
};
// the rest of WebApiConfig.Register...
}
下面的代码适用于我的解决方案。它将处理程序连接到AppDomain的AssemblyResolve事件,如果找不到程序集,将引发该事件。在本例中,我告诉它检查当前加载的程序集,如果存在匹配项,则返回一个,FluentNHibernate应该有匹配项。尝试将其作为WebApiConfig.Register中的第一行
public static void Register()
{
AppDomain.CurrentDomain.AssemblyResolve += (sender, args) =>
{
return AppDomain.CurrentDomain.GetAssemblies()
.Where(a => a.FullName == args.Name).FirstOrDefault();
};
// the rest of WebApiConfig.Register...
}
下面的代码适用于我的解决方案。它将处理程序连接到AppDomain的AssemblyResolve事件,如果找不到程序集,将引发该事件。在本例中,我告诉它检查当前加载的程序集,如果存在匹配项,则返回一个,FluentNHibernate应该有匹配项。尝试将其作为WebApiConfig.Register中的第一行
public static void Register()
{
AppDomain.CurrentDomain.AssemblyResolve += (sender, args) =>
{
return AppDomain.CurrentDomain.GetAssemblies()
.Where(a => a.FullName == args.Name).FirstOrDefault();
};
// the rest of WebApiConfig.Register...
}
在
Web.config
的dependentAssembly
部分,您不需要任何条目,因此我将删除这些条目PublicKeyToken=null
表示程序集没有签名,这很好。我能够做一个非常简单的重新编程,并正确加载程序集,因此可能会发生更复杂的事情。当您转到{yoursite}.scm.azure-mobile.net时,单击调试控制台->CMD
并转到site\wwwroot\bin
,您在那里看到FluentNHibernate.dll了吗?如果是这样,您可以在本地下载,它是什么版本?我还不知道SCM仪表板。非常感谢您的建议!但是dll在那里,并且有正确的版本。我只是尝试将我所有的NHibernate交互移动到一个单独的引用程序集中,看看是否可以重新编程,但无法。您在哪里看到错误消息?它是否在门户日志中?如果是这样的话,你能(a)分享完整的错误信息吗?如果你还没有(b)尝试创建一个新的临时移动服务并在那里发布你的项目,看看它是否也在那里发生(c)请尝试通过SCM仪表板显式删除FluentNHibernate.dll,并再次检查“发布预览”窗口,以查找延迟响应,但我无法回答过去3天的问题。经过多次尝试后,我可以找到导致异常的位:使用子类映射
这用于将基类映射到一种基表:。在我需要找到不同的解决方案之前,您能检查一下是否可以重现此错误吗?顺便说一句:谢谢你花这么多时间!好吧,我现在看到了这个例外。我得深入调查,看看原因——我找到任何东西后会报告的。感谢您的特殊修改。在Web.config
的dependentAssembly
部分,您不需要任何条目,因此我将删除这些条目PublicKeyToken=null
表示程序集没有签名,这很好。我能够做一个非常简单的重新编程,并正确加载程序集,因此可能会发生更复杂的事情。当您转到{yoursite}.scm.azure-mobile.net时,单击调试控制台->CMD
并转到site\wwwroot\bin
,您在那里看到FluentNHibernate.dll了吗?如果是这样,您可以在本地下载,它是什么版本?我还不知道SCM仪表板。非常感谢您的建议!但是dll在那里,并且有正确的版本。我只是尝试将我所有的NHibernate交互移动到一个单独的引用程序集中,看看是否可以重新编程,但无法。您在哪里看到错误消息?它是否在门户日志中?如果是这样的话,你能(a)分享完整的错误信息吗?如果你还没有(b)尝试创建一个新的临时移动服务并在那里发布你的项目,看看它是否也在那里发生(c)请尝试通过SCM仪表板显式删除FluentNHibernate.dll,并再次检查“发布预览”窗口,以查找延迟响应,但我无法回答过去3天的问题。经过多次尝试后,我可以找到导致异常的位:使用子类映射
这用于将基类映射到一种基表:。在我需要找到一个不同的