我在vs下,用c# 写了个com, 如何才能注册到其它电脑上那。

解决方案 »

  1.   

    c# com ? 注册?
    能否描述得理清楚一点。
      

  2.   

    应该是不能用C#实现COM组件的,你应该值得是实现一个.NET 组件把,对于注册.NET 组件,可以使用regasm命令,如C:\>regasm out ClassLibrary1.DLL /regfile:ClassLibrary1.reg
    如果要注册COM组件应采用RegSvr32.exe命令,如regsvr32 c:\test.dll
      

  3.   


    我用C# 写了一个dll, 代码结构如下:namespace Crypt
    {
        [Guid("A7B2DAC1-2228-4419-9AEC-C5EE3A3A914E")]
        public interface ITest
        {
             string TestMethod(string message);
     
        }    [ClassInterface(ClassInterfaceType.None)]
        [Guid("CFD543BF-A414-48F2-B989-9F141F73E354")]
        public class ClassTest:ITest
        {
           
            public string TestMethod(string message)
            {
                result=message;
            }
        }另外还设置项目属性“Make assembly Com-visible" 为true.我该如何注册此dll 到没有安装vs 环境的电脑上
      

  4.   

    使用这个命令就可以的:regasm out ClassLibrary1.DLL。
      

  5.   


    提示如下错误:
    RegAsm : error RA0000 : Unable to locate input assembly 'out' or one of its depe
    ndencies.
      

  6.   

    命令行错了:regasm myTest.dll
      

  7.   

    试试这个 regasm myTest.dll,具体可以参考下面的博客:
    http://blog.sina.com.cn/s/blog_4a86cfa2010008ok.html
      

  8.   


    提示如下错误:
    RegAsm : error RA0000 : Unable to locate input assembly 'out' or one of its depe
    ndencies.
    试试这个 regasm myTest.dll,具体可以参考下面的博客:
    http://blog.sina.com.cn/s/blog_4a86cfa2010008ok.html
      

  9.   


    我在有安装vs 环境下,这么用没问题,可是我在没vs的环境下,就不行。提示如下
    Failed to load 'C:\Test\test.dll' because it is not a valid .net assambly
      

  10.   


    我用C# 写了一个dll, 代码结构如下:namespace Crypt
    {
        [Guid("A7B2DAC1-2228-4419-9AEC-C5EE3A3A914E")]
        public interface ITest
        {
             string TestMethod(string message);
     
        }    [ClassInterface(ClassInterfaceType.None)]
        [Guid("CFD543BF-A414-48F2-B989-9F141F73E354")]
        public class ClassTest:ITest
        {
           
            public string TestMethod(string message)
            {
                result=message;
            }
        }另外还设置项目属性“Make assembly Com-visible" 为true.我该如何注册此dll 到没有安装vs 环境的电脑上vs环境是指的.NET FRAMEWORK吗?
    .net 本来就属于托管代码,要运行它必须得有.NET FRAMEWORK支持。
    所以,在没有装.NET FRAMEWORK环境的电脑上就长是注册了也不能运行的。
      

  11.   

    C#能写COM?
    看来是我弱爆了
      

  12.   


    我在有安装vs 环境下,这么用没问题,可是我在没vs的环境下,就不行。提示如下
    Failed to load 'C:\Test\test.dll' because it is not a valid .net assambly
    因为系统自带了。NET FrameWork 2.0的,如果你开发的dll平台版本是针对.NEt FrameWork4.0或者其他版本的话,则你必须在本地安装.NET Framework,你可以尝试把你的dll平台设置为.NET Framework2.0,这样注册就没有什么问题的
      

  13.   


    我在有安装vs 环境下,这么用没问题,可是我在没vs的环境下,就不行。提示如下
    Failed to load 'C:\Test\test.dll' because it is not a valid .net assambly
    因为系统自带了。NET FrameWork 2.0的,如果你开发的dll平台版本是针对.NEt FrameWork4.0或者其他版本的话,则你必须在本地安装.NET Framework,你可以尝试把你的dll平台设置为.NET Framework2.0,这样注册就没有什么问题的的确是此问题,多谢
      

  14.   


    我在有安装vs 环境下,这么用没问题,可是我在没vs的环境下,就不行。提示如下
    Failed to load 'C:\Test\test.dll' because it is not a valid .net assambly
    因为系统自带了。NET FrameWork 2.0的,如果你开发的dll平台版本是针对.NEt FrameWork4.0或者其他版本的话,则你必须在本地安装.NET Framework,你可以尝试把你的dll平台设置为.NET Framework2.0,这样注册就没有什么问题的的确是此问题,多谢
    我在有安装vs 环境下,这么用没问题,可是我在没vs的环境下,就不行。提示如下
    Failed to load 'C:\Test\test.dll' because it is not a valid .net assambly
    因为系统自带了。NET FrameWork 2.0的,如果你开发的dll平台版本是针对.NEt FrameWork4.0或者其他版本的话,则你必须在本地安装.NET Framework,你可以尝试把你的dll平台设置为.NET Framework2.0,这样注册就没有什么问题的的确是此问题,多谢
    那记得结贴给分啊