StructureMap 和扫描组件

2023-12-24

因此,我有一个使用 StructureMap 的 .NET 解决方案,并且我想让 StructureMap 读取一个外部程序集,该程序集实现该解决方案中项目的接口并为其定义注册表项。

我的解决方案的 StructreMap 配置:

ObjectFactory.Initialize(registry =>
{
  registry.Scan(assembly =>
   {
     assembly.TheCallingAssembly();

     //Telling StructureMap to sweep a folder called "extensions" directly
     //underneath the application root folder for any assemblies found in that folder
     assembly.AssembliesFromPath("extensions", addedAssembly => addedAssembly.GetName().Name.ToLower().Contains("extension"));

     //Direct StructureMap to add any Registries that it finds in these assemblies, assuming that all the StructureMap directives are
     //contained in registry classes
     assembly.LookForRegistries();
   });
});

非常简单,我告诉它将调用程序集和目录中的程序集添加到程序集集合中。我已经调试了程序集变量,它确实找到了所有程序集(包括扩展目录中的程序集)。

在我与原始解决方案分开创建的 DLL 项目中,我有一个接口的实现(我引用了原始解决方案中的接口项目),并编写了一个非常简单的注册表:

public class ProductMockRegistry : Registry
{
    public ProductMockRegistry()
    {
        ForRequestedType<IProductRepository>().AddInstances(repository =>
        {
            repository.OfConcreteType<ProductMockRepository>();
        });
    }
}

我遇到的问题是,StructureMap 在外部 DLL 中找不到注册表。它很好地找到了 DLL,但是当我告诉它 LookForRegistries 时,它找不到它。


IoC、Dll 引用和程序集扫描 https://stackoverflow.com/questions/809051/ioc-dll-references-and-assembly-scanning/816376#816376

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

StructureMap 和扫描组件 的相关文章

  • 在 Windows 注册表中使用 ALIAS 路径时,无法从上下文菜单运行 EXE

    我正在尝试将一个项目添加到 Windows 10 的上下文菜单中 当我使用直接路径时 例如 HKEY CLASSES ROOT Directory Background shell MySetFolders command D DOCS C
  • 安装前检查 Java 是否存在

    我正在为 jar 应用程序创建 Inno Setup 安装程序 我现在想做的是在继续安装之前检查 java 是否存在 所以我只需要确保用户能够运行 java jar my app jar 我现在正在做的是 Code function Ini
  • 无法写入 HKEY_LOCAL_MACHINE\Software 下的注册表

    我正在编写一个应用程序 需要创建一个隐藏在登录屏幕和控制面板用户小程序中的特殊用户帐户 通过写一个DWORD将用户名值设置为 0 并添加到下面的注册表项中 我就能够实现此目标 HKEY LOCAL MACHINE SOFTWARE Micr
  • HKEY_CURRENT_USER\Software\Wow6432Node\Classes 与 HKEY_CURRENT_USER\Software\Classes\Wow6432Node

    问题很简单 HKEY CURRENT USER Software Wow6432Node Classes 和 HKEY CURRENT USER Software Classes Wow6432Node 有什么区别 有点晚了 但我走了 科林
  • 在 Visual Studio 中获取类的程序集限定名称

    我正在为一些专门的自定义域逻辑编写一个自定义的反射库 该库将使用 XML 配置文件 该文件将在运行时动态解析 System Type 对象 然而 在编写 XML 配置文件时 编写类型有点麻烦 因为它们需要完全限定的程序集名称 以便 Type
  • 如何修补 .NET 程序集?

    如果我编译一个 C 项目两次 我将得到两个程序集 这些程序集并不完全相同 使用二进制差异 我可以想到为什么会这样 但事实仍然是两个程序集的源是相同的 我关心的是在这些程序集之间创建补丁 并将该补丁应用到客户计算机上 有谁知道我可以用来创建和
  • 以编程方式添加项目引用

    基本上 在阅读了几个链接后 我尝试了上面的代码 foreach EnvDTE Project proj in soln Projects if proj Name BLL VSLangProj VSProject vsproj VSLang
  • Python - 检查用户是否具有管理员权限

    我正在用 Python 3 x 编写一个小程序作为自学项目 我的想法是让程序允许用户输入两个文本字段 然后将用户的输入插入到两个特定注册表项的值中 有没有一种简单的方法来检查当前用户是否可以访问注册表 我宁愿它清楚地告诉用户他 她需要管理员
  • 如何仅在驱动器 C:\ 上向 Shell 菜单添加条目?

    我需要向 Windows 中的资源管理器外壳添加一个上下文菜单项 通过添加一些注册表条目 这很容易做到 HKEY CLASSES ROOT Drive shell Disk cleanup command cleanmgr exe 但我喜欢
  • 如何通过WMI确定操作系统平台?

    我试图弄清楚 WMI 中是否有一个位置可以返回可在 所有 版本的 Windows 上工作的操作系统架构 即 32 位或 64 位 当我发现以下内容时 我以为我已经弄清楚了我的Win2k8系统 Win32 OperatingSystem OS
  • StructureMap通过注入解决依赖而不是服务定位

    在我的项目中我注册了很多ISerializers使用装配扫描仪的实现 FWIW这是注册我的代码ISerializers Scan scanner gt scanner AssemblyContainingType
  • 是否可以打开 regedit 并使用 process.start 直接导航到特定键?

    我正在制作一个小工具 可以在注册表中写入一个密钥 其中一小部分只是为了方便起见 只需单击一个按钮即可立即导航到该密钥 我已经知道如何打开 regedit exe 但是有没有办法立即导航到我需要的密钥 我正在尝试与 System Diagno
  • 使用 Visual Studio 安装项目设置 InstallPath 注册表项

    我正在使用使用 Visual Studio 安装项目设计的 msi 安装程序来部署我的应用程序 如何将注册表项设置为应用程序的安装路径 实际上 当我在寻找同样的东西时 还提到了以下解决方案 在注册表项中使用 TARGETDIR
  • Powershell:如何将字节字符串与二进制注册表值进行比较

    我有一个二进制注册表值 我想检查它在 Powershell 脚本中的一致性 我通过以下方式检索值 Get ItemProperty Path HKLM Software ORL WinVNC3 Name ACL ACL 这将返回一个字节字符
  • 如何使用程序集绑定重定向来忽略修订号和内部版本号

    我有几个 C NET 应用程序 以及供它们访问数据库的 API 我想将 API 的所有版本放入数据库中 并让它们选择最高版本和内部版本号 但坚持使用它们构建时使用的主要版本号和次要版本号 基本上当我参考API时1 2 3 4我想要参考阅读1
  • 如何从注册表获取重定向字符串?

    我正在使用从注册表中读取一些值Registry http msdn microsoft com en us library microsoft win32 registry 28v vs 110 29 aspx 我需要访问使用的一些值注册表
  • CE 设备读取注册表的哪个分支?

    我的 Windows CE Motorola Symbol 手持设备在 HKEY CURRENT USER 和 HKEY LOCAL MACHINE 下都有名为 Software Microsoft Windows CE Services
  • 将注册表中的版本号转换为System.Version?

    我正在从注册表中检索版本号 如下所示 rKey GetValue Version 现在我想将其转换为System Version object 我该怎么做呢 假设这是一个字符串 string versionText string rKey
  • Windows:列出并启动与扩展关联的应用程序

    如何确定与特定扩展名 例如 JPG 关联的应用程序 然后确定该应用程序的可执行文件所在的位置 以便可以通过调用 System Diagnostics Process Start 来启动它 我已经知道如何读取和写入注册表 注册表的布局使得以标
  • 将构建日期放入“关于”框中

    我有一个带有 关于 框的 C WinForms 应用程序 我使用以下方法将版本号放入 关于 框中 FileVersionInfo GetVersionInfo Assembly GetExecutingAssembly Location F

随机推荐

  • 哪个最适合数据存储结构/类?

    我们在 SO 中看到了很多关于 c 中的类与结构的讨论 大多以结论说它是一个结束堆 栈内存分配 并建议在中使用结构小数据结构 现在我面临着在这两个选择中决定简单数据存储的情况 目前 在我们的应用程序中 我们有数千个类 仅充当简单的数据存储
  • CodeIgniter 辅助函数可以使用数据库函数吗?

    我的 CodeIgniter 控制器函数之一需要调用递归函数作为其功能的一部分 如果我将函数调用放在控制器类中 函数调用就会阻塞 并且它无法访问数据库函数 this gt db gt get 如果我把它放在课堂之外 让它成为辅助函数可以解决
  • 在 UISlider 下添加数字

    我有一个用它实现的 UISliderJQuery UI 我想在显示数字的滑块下添加一个图例 我跟着这个答案 https stackoverflow com a 16877678 4861207它展示了如何实现这一点 然后将数字与百分比值一起
  • Rails:在任何来源中都找不到 minitest-4.7.5

    这里有一个麻烦 在我的远程服务器命令上gem list shows some gems minitest 4 7 5 bundle show minitest命令显示 var lib gems 1 9 1 gems minitest 4 7
  • Javascript:如何重用创建子实例的方法而不创建循环依赖项

    abstract class Fruit private content Fruit addChild Pick one at random using this as an example instead of the actual cr
  • 使用 jquery 从 获取复选框值

    http ghinda net css toggle switch bootstrap html http ghinda net css toggle switch bootstrap html 我使用上面的 css 文件和代码来制作切换开
  • Keras - 历元相关损失函数

    我正在使用 Keras 框架 我想实现一个与纪元相关的损失函数 即每个纪元的损失函数都不相同 你会怎么做 您能否添加一个示例 例如基于keras VAE 教程 https github com fchollet keras blob mas
  • iOS 设备 UDID 区分大小写吗?

    这是关于将设备添加到配置门户以进行临时测试 一个客户给我发了一个带有大写字符的 UDID 我没有检查就愚蠢地添加了它 无线部署不起作用 我想知道这是否是原因 但我想在用完我的 100 个分配之一之前先检查一下 Yes UDIDs区分大小写
  • 为什么 linq-2-sql 会创建额外的不必要的对象?

    我在数据库中有一个简单的父子表 如下所示 CREATE TABLE Parent Id int IDENTITY 1 1 NOT NULL Name nvarchar 256 NOT NULL ALTER TABLE Parent ADD
  • 使用 C# 突出显示 Docx 中的文本

    我需要突出显示 docx 文件中的一个句子 我有这段代码 并且它对于许多文档都可以正常工作 但我注意到对于某些文档 文档中的文本是逐字设置的 而不是整个句子 我的意思是每个单词它自己的Run 所以当搜索该句子时 找不到它 因为它在docx中
  • 使用 Eclipse 部署到 AppEngine 时出错

    每当我尝试将 Web 应用程序部署到 Google App Engine 时 无论女巫应用程序如何 甚至是演示应用程序 我都会遇到此问题 当我尝试部署时立即发生错误 错误是这样说的 部署到 AppEngine 时出错 部署到 App Eng
  • 如何在 Windows 上通过命令行以全屏视图打开 pdf?

    我可以使用以下命令通过命令行打开 pdf 文档 start test pdf 但我想通过命令行以全屏模式打开它 有人知道该怎么做吗 这应该可以做到 start max c nameofpdf pdf 这样做的优点是 如果用户使用非 adob
  • 如何从 pandas 数据帧计算 jaccard 相似度

    我有一个数据框如下 框架的形状是 1510 1399 列代表产品 行代表用户为给定产品分配的值 0 或 1 我怎样才能计算jaccard similarity scores 我创建了一个占位符数据框 列出了产品与产品 data ibs pd
  • AccessDenied:用户无权执行:cloudfront:CreateInvalidation

    我正在尝试使用 ember cli deploy 和 ember cli deploy cloudfront 将 ember 应用程序部署到 AWS CloudFront 我在 AWS 中设置了存储桶和用户 并为我的用户提供了 Amazon
  • 如何处理 Angular 2 中的模板错误(和其他错误)?

    当 Angular 2 中出现模板错误时 整个应用程序将无法工作 是否应该只有具有导致错误的模板的组件无法工作而应用程序的其余部分工作正常 如何处理错误以便应用程序在发生错误时不会停止响应 您可以使用自定义ErrorHandler http
  • 如何将 Kotlin 源文件转换为 Java 源文件

    我有一个 Kotlin 源文件 但我想将其转换为 Java 如何将 Kotlin 源代码转换为 Java 源代码 正如 Vadzim 所说 在 IntelliJ 或 Android Studio 中 您只需执行以下操作即可从 kotlin
  • 如何使用 View 的子级制作绘图动画,逐条绘制每条 Path 的线条?

    使用我在中找到的代码这个 StackOverflow 答案 https stackoverflow com a 61843394 3692177我成功地可以用手指在画布上绘制任何内容 并且在绘制时我会看到我绘制的内容 由此 我想创建一个在按
  • 来自守护程序的错误响应:未找到网络 myapp

    我正在尝试在多主机网络中创建一个容器 但在创建时出现此错误 Error response from daemon network myapp not found Here myapp是我创建的覆盖网络的名称 我正在使用的命令是 sudo d
  • Xcode 4 内部编译器错误:总线错误

    Xcode 4 0 1 开始出现内部编译器错误 它只是说 总线错误 它出现在我的一个 m 文件的底部 该文件现在几乎有 4000 行长 我看过这个问题 https stackoverflow com questions 5042256 in
  • StructureMap 和扫描组件

    因此 我有一个使用 StructureMap 的 NET 解决方案 并且我想让 StructureMap 读取一个外部程序集 该程序集实现该解决方案中项目的接口并为其定义注册表项 我的解决方案的 StructreMap 配置 ObjectF