使用工厂创建对象,程序如下:
namespace Wyb.Software.DALFactory
{
public class GameType
{
public static Wyb.Software.IDAL.IGameType Create()
{
string path = System.Configuration.ConfigurationSettings.AppSettings["WebDAL"];
string className = path + ".GameType"; return (Wyb.Software.IDAL.IGameType) Assembly.Load(path).CreateInstance(className);
}
}
}
web.config配置:
<appSettings>
<add key="WebDAL" value="Wyb.Software.SQLServerDAL" />
</appSettings>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<qualifyAssembly partialName="Wyb.Software.SQLServerDAL" fullName="Wyb.Software.SQLServerDAL,version=1.0.0.0,publicKeyToken=24fc0db1dfe597a6,culture=neutral" />
</assemblyBinding>
</runtime>运行到:return (Wyb.Software.IDAL.IGameType) Assembly.Load(path).CreateInstance(className);时出错,提示:
从索引 0 处开始,初始化字符串的格式不符合规范。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.ArgumentException: 从索引 0 处开始,初始化字符串的格式不符合规范。这时path的值为:Wyb.Software.SQLServerDAL
className的值为:Wyb.Software.SQLServerDAL.GameType
namespace Wyb.Software.DALFactory
{
public class GameType
{
public static Wyb.Software.IDAL.IGameType Create()
{
string path = System.Configuration.ConfigurationSettings.AppSettings["WebDAL"];
string className = path + ".GameType"; return (Wyb.Software.IDAL.IGameType) Assembly.Load(path).CreateInstance(className);
}
}
}
web.config配置:
<appSettings>
<add key="WebDAL" value="Wyb.Software.SQLServerDAL" />
</appSettings>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<qualifyAssembly partialName="Wyb.Software.SQLServerDAL" fullName="Wyb.Software.SQLServerDAL,version=1.0.0.0,publicKeyToken=24fc0db1dfe597a6,culture=neutral" />
</assemblyBinding>
</runtime>运行到:return (Wyb.Software.IDAL.IGameType) Assembly.Load(path).CreateInstance(className);时出错,提示:
从索引 0 处开始,初始化字符串的格式不符合规范。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.ArgumentException: 从索引 0 处开始,初始化字符串的格式不符合规范。这时path的值为:Wyb.Software.SQLServerDAL
className的值为:Wyb.Software.SQLServerDAL.GameType
已修改:2005-1-15 18:12:54
区域性:neutral
版本:1.0.0.0
公钥标记:24fc0db1dfe597a6
基本代码:file:///D:/wyb/Software/SQLServerDAL/bin/Release/Wyb.Software.SQLServerDAL.dll
缓存类型: Gac
*
这个参数不对。public static Assembly Load(
AssemblyName assemblyRef
);
assemblyRef 描述要加载的程序集的 AssemblyName 对象。
myAssemblyName.Name = "MyAssembly";
myAssemblyName.Version = new Version("1.0.0.2001");
MakeAssembly(myAssemblyName, "MyAssembly.exe");
能不能结合我的实际情况给出一点修改意见?谢谢