Tag: 组件

在运行时合并两个程序集 – C#

是否可以在运行时合并两个程序集,以便在迭代ExportedTypes时,返回两个原始程序集中的所有类型? 原因: 我使用数据库迁移框架来更新我的数据库。 它需要一个由特殊类组成的程序集,它定义了对数据库所做的修改。 我有两个非常相似的数据库。 许多表都是相同的,但每个表都有几个独特的表。 我想为每个数据库提供一般迁移程序集和特定程序集。 但是要将它与我的框架一起使用,我需要将两个程序集填充到一个程序集中。 这可能吗?

使用方法:使用同一个表中的不同业务逻辑映射(NHibernate)多个类?

我目前正在使用一个棕色数据库,该数据库包含一个表,其中包含3种不同类型的业务数据。 它与SalesOrders和订单线有关。 在旧的应用程序中,我们能够为每个销售订单添加3种类型的订单行:产品,小时费率和文本行。 15年前,这是一个快速而肮脏的解决方案,可以在Delphi中轻松查询以获取一个数据网格中的所有行。 一切 现在我尝试使用NHibernate在C#中构建对象模型。 由于这三种线路类型没有真正的业务逻辑连接,我已经制作了3个没有基类的单独实体。 但是,我想将这3种类型合并到一个列表中,以便我可以订购它们。 我已经考虑过使用inheritence,每个类的表,因为表符合要求(没有具有非空约束的列)。 这不是一个合乎逻辑的步骤,因为每种类型的业务完全不同(只有共同点是userId,description和remarks)。 也许是一个组件? 但是如何将属性映射到3个不同的类而没有基类或除表名之外的任何类型的链接? 我希望你们明白我写的是什么。 我还没有真正的代码,我只是在纸上写了一些关于如何处理这段代码的东西。 谁在这里可以帮助我的路上? 亲切的问候,泰德

无法找到参考组件Microsoft.CSharp

我在我的Visual Studio 2010上的C#项目中发现了这个问题,当我去另一台使用2008的PC时,我打开了project.csprog: 期望获取或设置访问者 和警告: 找不到引用的组件“Microsoft.CSharp”。 我认为是关于.NET Framework或Microsoft.CSharp找不到,因为它说: 无法解析此引用。 无法找到程序集“Microsoft.CSharp”。 检查以确保磁盘上存在程序集。 如果您的代码需要此引用,则可能会出现编译错误 但我不知道这个问题,你能给我一个解决方案吗?

获取程序集限定Visual Studio中类的名称

我正在为一些专门的自定义域逻辑编写一个自定义的reflection库,该库将使用XML配置文件,这些文件将在运行时动态解析System.Type对象。 但是,在编写XML配置文件时,编写类型会有点麻烦,因为它们需要是Type.GetType()的完全限定程序集名称才能解决它们。 有没有办法在Visual Studio中找到对象的AssemblyQualifiedName而无需编写程序将它们打印到文件或标准或类似的东西?

如何在设计时获取项目路径

我使用一个组件(System.ComponentModel.Component),我想获取我的项目的应用程序路径,以便在其中创建一个文件。 谢谢 弗洛里安

通过Bytes加载程序集会丢失该位置

我想通过以下方式加载程序集 var loadedAssembly = Assembly.Load(File.ContentsAsBytes); File.ContentAsBytes通过以下方式将dll作为byte[]返回 System.IO.File.ReadAllBytes(“dll location”); 问题是加载的程序集( loadedAssembly )失去了它的物理位置 loadedAssembly.CodeBase – 设置为正在加载它的程序集(这是不正确的) loadedAssembly.Location – 为空 有没有办法从byte[]加载并获得类似的结果到Assembly.LoadFile因为我需要结果与AppDomain.CurrentDomain.AssemblyResolve

基于组件的体系结构:在运行时替换程序集

在运行时替换程序集是个好主意吗? 我可以遇到什么问题? 原始问题: StructureMap – 能够在运行时替换程序集 在Web和非Web应用程序中在运行时替换程序集有什么区别?

ASP.NET应用程序引用以编程方式加载的程序集中的程

我的ASP.NET应用程序加载一个程序集,并从其中的对象创建一个类实例。 程序集本身引用了一个名为“Aspose.Cells.dll”的dll,它可以毫无问题地访问它,并且与程序集文件本身位于相同的路径上。 但是,当我对其中一个方法进行方法调用时,我收到此错误: 无法加载文件或程序集’Aspose.Cells,Version = 4.1.2.0,Culture = neutral,PublicKeyToken = 9a40d5a4b59e5256’或其依赖项之一。 我想我需要让我的ASP.NET应用程序引用这个DLL,但到目前为止我尝试过的所有内容都失败了。 加载的程序集DLL不在Web应用程序的根目录中,我希望它不一定是。 我可以像这样加载程序集: Assembly asm = Assembly.LoadFile(@”D:\Dev\EasyFlow\Plugins\ImportExportLibrary\bin\Debug\Aspose.Cells.dll”); 但我不能这样使用它: AppDomain newDomain = AppDomain.CreateDomain(“testAspose”); Assembly asm = newDomain.Load(System.IO.File.ReadAllBytes(@”D:\Dev\EasyFlow\Plugins\ImportExportLibrary\bin\Debug\Aspose.Cells.dll”)); 有没有更好的方法呢? 更新: 谢谢你的回复。 我忘了提到我无法将程序集复制到bin文件夹或GAC,因为我希望它作为插件系统工作,通过更改配置文件中程序集的路径而不必手动复制文件,可以轻松替换程序集进入主项目。 但是, AssemblyResolve事件似乎很有趣,我稍后会试一试。

使用来自另一个MEF程序集的类而不引用它

我有2个MEF组件。 让它成为组件A和组件B. 我需要的是能够从组件A中的组件B访问类而不参考它。 然后我想手动实例化该类的对象。 目前我看到MEF允许使用[Import]自动实例化对象。 它使用需要引用的接口。 我可以使用其他程序集中的数据类型而不引用它吗? MEF是否支持这种机制?

WPF的免费字体和颜色选择器?

我正在为WPF寻找一些好的字体选择器和颜色选择器组件。 我试图找到一些标准的解决方案,如Winforms组件,但似乎没有(我想知道为什么?)。 它不一定是完美的,从代码项目中可以得到一些,但我更喜欢看起来很直观的组件。 谢谢