【发布时间】:2016-03-01 18:10:48
【问题描述】:
我收到了一个用 Visual Studio 2013 编写的 wpf 应用程序,我需要运行它..
当我构建它时,它运行良好,但到达了调用数据库的位置。不幸的是,数据库连接字符串是硬编码的。如果我在代码中更改它,应用程序会自行重建,然后当我在它到达数据库之前运行时,它会给出以下运行时错误。
Private Shared Sub RunInDebugMode()
Dim bootstrapper As UnityBootstrapper = New Bootstrapper()
bootstrapper.Run()
End Sub
Microsoft.Practices.Prism.dll 中出现“Microsoft.Practices.Prism.Modularity.ModuleInitializeException”类型的未处理异常
附加信息:初始化模块“Main”时发生异常。
异常消息是:尝试获取 ModuleInit 类型的实例时发生激活错误,键“”
查看异常的 InnerException 属性以获取更多信息。如果发生异常
在 DI 容器中创建对象时,可以通过 exception.GetRootException() 来帮助定位
问题的根本原因。
在bootstrapper.Run()
如果我无法重建代码,我该如何对其进行更改。 它在客户端的机器上工作。在我重建之前在我的机器上工作。
如果我处于调试模式并跳过bootstrapper.Run() 行,则屏幕不会呈现,因此无济于事。有没有办法可以替换那一行讨厌的代码而不使用它。它似乎是 Unity 的一部分,但它是代码的核心,我不知道如何绕过它,所以我只能运行应用程序。
注意我最初得到的错误
错误 35 该项目当前包含对多个 Microsoft.Practices.Unity 版本的引用、对版本 1.2.0.0 的直接引用和间接引用(通过“Microsoft.Practices.Prism.UnityExtensions.UnityBootstrapper.Container”)到版本 2.1.505.0。将直接引用更改为使用 Microsoft.Practices.Unity 版本 2.1.505.0(或更高版本)。 C:\MyProject\Shell\Bootstrapper.vb 24 33
然后我将引用更改为 2.1.505.0,因此我原来的运行时错误。意思是 Prism 不向后兼容。我也尝试过 Microsoft.Practices.Unity.dll 的 v4,但我得到与 v2 相同的错误。
我无意部署此站点。我只需要更改硬编码的连接字符串并构建它并运行它来测试它是如何工作的。 然而 Prism 垄断太多以排除它并拒绝我尝试的任何工作。
有没有一种方法可以绕过 prism 并跳过我的主项目,直接在类库项目中调用 xaml 文件,而不是通过创建一个新项目?
【问题讨论】:
标签: wpf visual-studio visual-studio-2013 prism