测试代码:
using System;
using System.IO;
using System.Text;
using System.Runtime.InteropServices; 
using System.Security.Cryptography; 
namespace azheng
{
[Guid("B0BC36BB-03C1-4ea3-B632-640CC3773A20")] /// <summary>
/// Class1 的摘要说明。
/// </summary>
public class azheng17167
{
public string getazheng()
{


         return "测试.";
}
}
}
sn -k myKey.snk<回车> 生成一个名叫myKey.snk的强名称文件,然后将其拷贝到上述工程目录中(与azheng.cs文件同目录)后关闭提示符窗口。 在vs.net的那个类库工程自动生成的AssemblyInfo.cs文件内 把[assembly: AssemblyKeyFile("")]改成[assembly: AssemblyKeyFile("../../myKey.snk ")]
然后按Shift + Ctrl + B键生成dll库(使用debug模式),azheng.dll。这时候,程序集就建立成功了 regasm azheng.dll<回车> 
提示成功注册了类型
将程序集添加到全局程序集缓存中 进入Visual Studio .Net提示符窗口,输入 gacutil /I azheng.dll<回车> 提示:failure adding asembly to the cache
最后一步出错了,请问是怎么回事啊?

解决方案 »

  1.   

    你再进行注册的时候,需要把myKey.snk文件与你dll文件的对应关系,要和assembly中设置的一样
      

  2.   

    我生成一个名叫myKey.snk的强名称文AssemblyKeyFile("../../myKey.snk ")在这里面设置的也是myKey.snk啊,对应起来的啊希望楼上的再指点一下
      

  3.   

    你把强文件名放到项目中obj\debug目录下,然后修改Assembly.cs文件中
    [assembly: AssemblyKeyFile("myKey.snk ")]
    然后编译,进行注册以及gacutil即可,但是注意要进行如上操作的时候,snk文件要和你的dll在同一个目录下。
      

  4.   

    [assembly: AssemblyTitle("测试")]
    [assembly: AssemblyDescription("azheng")]
    [assembly: AssemblyConfiguration("zhou")]
    [assembly: AssemblyCompany("旅游")]
    [assembly: AssemblyProduct("绑定域名")]
    [assembly: AssemblyCopyright("azheng")]
    [assembly: AssemblyTrade("17167")]
    [assembly: AssemblyCulture("")] 我后来在AssemblyInfo.cs这个文件里把这些程序集的常规信息添加起后,再注册就成功了,注册里也有azheng.azheng17167这个项了,但用ASP调用的时候
    set a=Server.CreateObject("azheng.azheng17167")
    还是提示错误 '80070002' 
    怎么回事呢
      

  5.   

    <%on error resume next
    set a=Server.CreateObject("azheng.azheng17167")
    Response.write a.getazheng()
    set a=nothing
    Response.Write Err.Description
    %>
    以上是asp的代码,提示错误语句是set a=Server.CreateObject("azheng.azheng17167"),但组件名名已注册成功了啊,Response.Write Err.Description出来的错误结果是“缺少对象”
      

  6.   

    要是提交为unkown error呢,这是咋回事?