你的类需要从PetShop.IDAL.ICategory继承Assembly.Load(path).CreateInstance(className);
这句是通过程序集创建一个实例,然后再转换为PetShop.IDAL.ICategory
这句是通过程序集创建一个实例,然后再转换为PetShop.IDAL.ICategory
解决方案 »
- 一个收索功能,新人求助。
- 自定义控件的问题
- 如何动态生成还参数所实例
- C# 接通来电后时在自动播放一段声音(急)
- 关于操作Excel
- 用fontDialog编辑的字符集,怎么样得到它的宽度和长度
- 请问如何将一个文件夹共享,并设置使用此共享文件夹的用户及权限,以及相关问题。使用NET命令不能设置用户。
- 若要运行此应用程序,您必须首先安装.NET Framework的以下版本之一: V2.0.50727
- c# mschart 在已经画好的chart上 想在画一条线
- hello world
- 急需C#高手帮忙写作图书
- ReportingService 出现不能创建文件名。谁帮了我就是我大哥啊,各位兄弟帮帮忙,多谢!狂散分
string className = path + ".Category";
return (PetShop.IDAL.ICategory)Assembly.Load(path).CreateInstance(className);
} 是根据path来获得ICategory继承的DAL组件.
1、这些文件复制到全局程序集缓存中是pet shop在安装的时候就复制了还是编译的过程中复制的?
不需要复制吧,如果需要复制肯定是你的path路径设错了.
2、程序发布的时候怎么处理?在安装的时候复制?
同上,不需要复制,系统自动的会发布出来。
在本机映像生成器 (Ngen.exe) 的旧有语法中可以找到 .NET Framework 1.0 和 1.1 版的 Ngen.exe 语法。
ngen <action> [options]
ngen /? | /help
string className = path + ".Category";
return (PetShop.IDAL.ICategory)Assembly.Load(path).CreateInstance(className);
}
====================================================================
这段这样理解:path是程序集,className是程序集里面的类,这个类实现了PetShop.IDAL.ICategory定义的接口。
return (PetShop.IDAL.ICategory)Assembly.Load(path).CreateInstance(className);
Assembly.Load(path).CreateInstance(className); 创建className类的实例,这个实例是Object型,因为它实现了ICategory接口。
所以可以转换成:PetShop.IDAL.ICategory类型。
====================================================================后来查了一下,说是pet shop把PetShop.SQLServerDAL这些文件复制到了C:\WINDOWS\assembly文件夹下,也就是成了全局程序集缓存。
======================================================
这个是系统运行机制的问题,完全不用理他。1、这些文件复制到全局程序集缓存中是pet shop在安装的时候就复制了还是编译的过程中复制的?
===============================================
编译过程中复制的。
2、程序发布的时候怎么处理?在安装的时候复制?
====================================================
发布的时候不用管它。
提示"未能加载文件或程序集'M.DALDatabase'或它的某一个依赖项。系统找不到指定的文件。" 这个错误,
应该是你classname的命名写错了吧。