日期:2014-05-17  浏览次数:21572 次

C# dll作为文件资源嵌入到Resource 怎么读取出来
是这样的
我有一个DLL文件 是C# 写的··
我知道通过引用可以使用他·
但是,现在是这样的情况:
  因为 只要添加了引用那么 编译后 这个dll就会出来··我现在想的是 把他加入到资源文件中,然后再使用他,这样编译后就不会出现这个dll了··
请问 各位大神··我该怎么做?
给点思路···谢谢了··
C#

------解决方案--------------------
DLL是可以都出来,不过是流的方式

Stream sm = Assembly.GetExecutingAssembly().GetManifestResourceStream("Suntek.WeatherInformation.cityaddress.txt");
                byte[] bs = new byte[sm.Length];
                sm.Read(bs, 0, (int)sm.Length);
                sm.Close();


现在的问题你打算怎么动态应用这个DLL里面的东东,难道你是在为了防破解,哎,这孩子,这年头提倡开源嘛
------解决方案--------------------
Assembly.GetExecutingAssembly().GetManifestResourceStream(空间名.文件名);
------解决方案--------------------
引用:
Quote: 引用:

DLL是可以都出来,不过是流的方式

Stream sm = Assembly.GetExecutingAssembly().GetManifestResourceStream("Suntek.WeatherInformation.cityaddress.txt");
                byte[] bs = new byte[sm.Length];
                sm.Read(bs, 0, (int)sm.Length);
                sm.Close();


现在的问题你打算怎么动态应用这个DLL里面的东东,难道你是在为了防破解,哎,这孩子,这年头提倡开源嘛



不是  我就是想调用这个DLL
但是 我想生成的文件只是一个exe,而不要其他的DLL   所以我想把我引用的DLL编译到exe里,怎么搞啊?


流化读取出来后,Assembly assembly = Assembly.LoadFrom方法加载流

//应用对应的方法
public bool Invoke(string fullClassName, string methodName, params Object[] args)
        {
            if(assembly == null)
                return false;
            Type tp = assembly.GetType(fullClassName);
            if (tp == null)
                return false;