小编D4r*_*4n3的帖子

与ASP.NET Core和MVC6(核心)的统一

更新09.08.2018
Unity正在开发中,但我还没有时间测试它如何与ASP.NET Core框架配合使用.

更新15.03.2018
此解决方案适用于在使用.NET Framework 4.5.2而不是 .NET Core Framework 时使用ASP.NET Core v1和Unity的特定问题.我不得不使用这个设置,因为我需要一些.Net 4.5.2 DLL,但对于任何重新开始的人我都不会推荐这种方法.此外,Unity还没有进一步开发(据我所知)所以我建议将Autofac框架用于新项目.有关如何执行此操作的详细信息,请参阅此帖子.

简介
我正在使用ASP.NET和MVC构建Web应用程序.此应用程序依赖于某些服务(WCF服务,数据存储区服务等).现在为了保持良好和解耦,我想使用DI(Dependecy Injection)框架,特别是Unity.

初步研究
我发现这篇博文,但遗憾的是它不起作用.这个想法虽然很好.
它基本上表示您不应将ServiceCollection中注册的所有服务注册到您自己的容器中,而应引用默认的ServiceProvider.
所以.如果需要解决某些问题,则调用默认的ServiceProvider,如果没有解析,则使用自定义UnityContainer解析类型.

问题
MVC总是尝试使用默认的ServiceProvider解析Controller.
此外,我注意到即使控制器得到正确解析,我也永远不会"混合"依赖关系.现在,如果我想使用我的一个服务而且还要使用ASP的IOptions接口,则该类永远无法解析,因为这两个容器中没有一个具有两种类型的解析.

我需要什么
所以回顾一下我需要以下几点:

  • 我不需要将ASP.NET依赖项复制到UnityContainer中的设置
  • 一个可以解析我的MVC控制器的容器
  • 一个可以解决"混合"依赖关系的容器

编辑:
所以问题是如何实现这些要点?

环境
project.json:
在此输入图像描述

c# unity-container asp.net-core-mvc

20
推荐指数
2
解决办法
2万
查看次数

如何在没有安装Qt的情况下运行Qt程序?

我用Qt5.3.1编写了一个程序,并在我的开发机器上运行它可以正常工作.我将所有必需的.dll文件复制到我的.exe所在的文件夹中.这些是:

  • Qt5Widgets.dll
  • Qt5Network.dll
  • Qt5Gui.dll
  • Qt5Core.dll
  • icudt51.dll
  • icuin51.dll
  • icuuc51.dll
  • libgcc_s_dw2-1.dll
  • libwinpthread-1.DLL
  • 的libstdc ++ - 6.dll

现在我想在没有安装Qt的机器上运行该程序.我怎么做?用户不必为了使用程序而安装IDE,对吗?

开发机器的工作原理:

  • Windows 8
  • Qt 5.3.1

部署平台是:

  • Windows Vista
  • 没有安装Qt,但所有必要的.dll都已到位

我得到的错误是第一个:

此应用程序无法启动,因为它无法找到或加载Qt平台插件"windows".重新安装应用程序可能会解决此问题.

下一条错误消息是:

此应用程序请求运行时以不寻常的方式终止.请联系支持.

然后程序崩溃了. 但是如果我安装Qt5.3.1就可以了.所以它是与文件的c:/Qt目录

c++ windows deployment qt qt5

7
推荐指数
3
解决办法
8107
查看次数

标签 统计

asp.net-core-mvc ×1

c# ×1

c++ ×1

deployment ×1

qt ×1

qt5 ×1

unity-container ×1

windows ×1