如果我执行以下步骤,我会收到例外:
测试1:
MainApp-项目:
模块-项目:
Autofac.WCF具有依赖性Autofac> = 3.3.1&& < 5.0.0
Bootstrapper.cs中的异常: Prism.Wpf.dll中出现未处理的“System.IO.FileLoadException”类型异常
其他信息:Die Datei oder Assembly“Autofac,Version = 3.3.0.0,Culture = neutral,PublicKeyToken = 17863af14b0044da”odereineAbhängigkeitdavonwurde nicht gefunden。 Eine bestimmte Datei konnte nicht gefunden oder geladen werden。 (Ausnahme von HRESULT:0x80131621)
测试2:
我也尝试了这些步骤:
MainApp:
模块:
可能,我犯了一个错误,因为我第一次使用Autofac和Autofac.WCF。我在团结IoC之前使用过。
Bootstrapper.cs:
using Autofac;
using Prism.Autofac;
using PrismAutofacApp2.Views;
using System.Windows;
using Prism.Modularity;
namespace PrismAutofacApp2
{
class Bootstrapper : AutofacBootstrapper
{
protected override DependencyObject CreateShell()
{
return Container.Resolve<MainWindow>();
}
protected override void InitializeShell()
{
Application.Current.MainWindow.Show();
}
protected override IModuleCatalog CreateModuleCatalog()
{
var modulecatalog = new DirectoryModuleCatalog() { ModulePath = @".\Modules" };
return modulecatalog;
}
}
}
模块:
using Prism.Modularity;
using Prism.Regions;
using System;
using Autofac;
namespace PrismModule2
{
public class PrismModule2Module : Module
{
IRegionManager _regionManager;
public PrismModule2Module(IRegionManager regionManager)
{
_regionManager = regionManager;
}
}
}
更新
我根据请求对软件包进行了评论卸载,然后重新安装了测试2中提到的所有步骤,问题仍然存在。
如果通过删除覆盖方法CreateModulecatalog来取消模块负载,那么问题就不再发生了,意味着MainApp中的Autofac 4.5.0 + Autofac.WCF 4.0.0工作,但是如果我加载模块则不行(包括.Autofac 4.5.0和Autofac.WCF)与CreateModulecatalog Autofac 4.5.0和Autofac.WCF。
请记住,模块没有app.config,因为它是一个模块(dll)项目。
对我来说,让项目按以下要求运行是非常重要的:
MainApp:
模块:
我无法阻止所有内容,因为无法在mainapp(bootstrapper)中无异常地使用autofac + autofac.wcf加载模块。
如果有人可以支持我,那么我可以使用共享桌面设置团队查看器会话以解决我的问题并为我提供指导。
答案 0 :(得分:1)
我解决了这些步骤:
我的模块:
答案 1 :(得分:0)