无法在 Azure 移动服务上找到程序集
Unable to find assembly on Azure Mobile Service
我有一个 Azure Mobile Service
项目,它依赖于另一个引用 FluentNHibernate
的(持久性)项目。在 Release
和 Debug
模式下,本地一切都是 运行 正确。发布项目似乎是成功的(蓝色笑脸)。当我发出请求时,问题就开始了,其中使用了 FluentNHibernate
。我收到以下错误消息:
Unable to find assembly 'FluentNHibernate, Version=2.0.3.0, Culture=neutral, PublicKeyToken=null'.
我已经尝试了很多东西:
- 正在重新安装软件包
- 新的普通移动服务
- 在主项目的
Web.config
中添加 dependentAssembly
,在持久性项目中添加 App.config
。
让我有点困惑的是以下事实:当我更改 FluentNHibernate
包的版本时,我可以在发布预览 window 中看到此 dll 不会更新。
我真的不确定这个问题是否取决于这个特定的包 (FluentNHibernate
)。例如,什么意思:PublicKeyToken=null
?
我还可以尝试在云中制作服务 运行 吗?
下面的代码适用于我的解决方案。它将处理程序连接到 AppDomain 的 AssemblyResolve 事件,如果找不到程序集,则会引发该事件。在这种情况下,我告诉它检查当前加载的程序集和 return 一个是否匹配,对于 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...
}
我有一个 Azure Mobile Service
项目,它依赖于另一个引用 FluentNHibernate
的(持久性)项目。在 Release
和 Debug
模式下,本地一切都是 运行 正确。发布项目似乎是成功的(蓝色笑脸)。当我发出请求时,问题就开始了,其中使用了 FluentNHibernate
。我收到以下错误消息:
Unable to find assembly 'FluentNHibernate, Version=2.0.3.0, Culture=neutral, PublicKeyToken=null'.
我已经尝试了很多东西:
- 正在重新安装软件包
- 新的普通移动服务
- 在主项目的
Web.config
中添加dependentAssembly
,在持久性项目中添加App.config
。
让我有点困惑的是以下事实:当我更改 FluentNHibernate
包的版本时,我可以在发布预览 window 中看到此 dll 不会更新。
我真的不确定这个问题是否取决于这个特定的包 (FluentNHibernate
)。例如,什么意思:PublicKeyToken=null
?
我还可以尝试在云中制作服务 运行 吗?
下面的代码适用于我的解决方案。它将处理程序连接到 AppDomain 的 AssemblyResolve 事件,如果找不到程序集,则会引发该事件。在这种情况下,我告诉它检查当前加载的程序集和 return 一个是否匹配,对于 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...
}