namespace ikeyInterface
{
    [Guid("F0356946-1F3E-49e9-9E9A-DE194A21DB39")]
    [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
    public interface IObjectSafety
    {
        void GetInterfacceSafyOptions(
            System.Int32 riid,
            out System.Int32 pdwSupportedOptions,
            out System.Int32 pdwEnabledOptions);
        void SetInterfaceSafetyOptions(
            System.Int32 riid,
            System.Int32 dwOptionsSetMask,
            System.Int32 dwEnabledOptions);
    }     public partial class iKeyActiveX : UserControl
    {
        ikeyActiveXClass c1 = new ikeyActiveXClass();
        public iKeyActiveX()
        {
            InitializeComponent();
        }
        void GetInterfacceSafyOptions(System.Int32 riid, out System.Int32 pdwSupportedOptions, out System.Int32 pdwEnabledOptions)
        {
            pdwSupportedOptions = 1;
            pdwEnabledOptions = 2;
        }
        void SetInterfaceSafetyOptions(System.Int32 riid, System.Int32 dwOptionsSetMask, System.Int32 dwEnabledOptions)
        {
        }
}
为什么每次生成的dll的guid都不一样
  每次调试的时候得的去oleview 中查看一次它的guid
  我都设置了guid了
 不是一直都应该是设置的这一个么?

解决方案 »

  1.   

    我操 每次都得用oleView去查看
    如果真的每次都改变的话
     那不是太麻烦了
     在每台机子上 那不都得改的不一样!
      

  2.   

    你可以给它一个固定的,然后存放在app.config里面
      

  3.   

    guid是一个标示,就像身份证一样是唯一的
      

  4.   

    guid 全球唯一的标识码  要使用它就是为了区分每一个原子 不知道LZ想实现一个什么?如果是调用接口的话可以根据命名空间的不同,为什么要用GUID来区分获取呢? 不知...
      

  5.   

    我做的是一个activeX的 插件
      我每次点击运行  是一个新的activeX的guid
      我只想更新旧的
    要是guid更改了
      在网页中的 <object id="ikeyInterface" classid="clsid:3378C25B-D62E-3964-868B-1AEA078E8F89" codebase ="step.exe" width="0" height="0">
     这句话也得修改
     我每次都要修改
    [Guid("F0356946-1F3E-49e9-9E9A-DE194A21DB39")]
     不是有这句话么?
     这不就是分配这个guid个这activeX吗?
    如果不是那这句话有啥用?
      

  6.   

    我在网页中就是
    <object id="ikeyInterface" classid="clsid:3378C25B-D62E-3964-868B-1AEA078E8F89" codebase ="step.exe" width="0" height="0">
    这么调用的
     classid就是他的guid
     所以需要它的值不要变!
      

  7.   

    简单,放session里面去!
    和我这个情况差不多吧
    http://topic.csdn.net/u/20100715/10/40eddbff-9e44-470f-8bee-1e4b59f98374.html
      

  8.   

    跟你说的完全不一样
     我是做一个activeX控件
     我每次生成一次activeX的 guid就改变了
    每次我都得去修改网页的 设置
     我是guid已经改变了
      

  9.   

    做插件的话 .net 可以在源代码中定义自己的特性,用于数据类型或方法的元数据的说明,和反射技术一起使用,以根据特性执行编程任务,由于.NET的语言无关性,任何,NET语言定义的特性都可以在另一种语言中调用