首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建.NET COM组件

创建.NET COM组件
EN

Stack Overflow用户
提问于 2010-01-13 00:33:11
回答 1查看 2.3K关注 0票数 0

我需要创建一个可以通过ASP Classic的Server.CreateObject方法访问的类,该类公开了三个属性(int Width、int Height、bool Loaded)和三个方法(void Load(字符串定位)、void Resize(整型宽度、整数高度)和void Save(字符串位置))。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-01-15 01:00:31

构建对象非常容易-注册它和管理COM依赖项可能非常棘手。

你的.NET项目应该是一个类库,你的类可以是一个简单的C# / .NET对象:

代码语言:javascript
复制
namespace MyCompany.MyProject.Com {
  public class MyObject {
      public int Width { get; set; }
      public int Height { get; set; }
      public void Load(string location) { /* implementation here */ }
      public void Resize(int width, int height) { /* implementation here */ }
  }
}

右键单击项目,选择属性,应用程序,然后单击程序集信息...并确保在assembly Information对话框的底部选择了"Make Assembly COM-Visible“。

构建你的项目--你应该在你的\bin\debug\文件夹中找到MyCompany.MyProject.Com.dll。

创建一个简单的ASP网页,如下所示:

代码语言:javascript
复制
<% option explicit %>
<%
dim myObject
set myObject = Server.CreateObject("MyCompany.MyProject.Com.MyObject")
myObject.Width = 20
myObject.Height = 40
%>
<html>
<head>COM Interop Demo</head>
<body>
<p>Width + Height = <%= myObject.Width + myObject.Height %></p>
</body>
</html>

http://localhost/上打开该页面,并验证您在第一次尝试运行它时是否得到"Server.CreateObject failed“。

现在,使用随.NET框架一起安装的regasm.exe将DLL注册为COM对象:

代码语言:javascript
复制
C:\>C:\Windows\Microsoft.NET\Framework\v2.0.50727\regasm.exe /tlb MyCompany.MyProject.Com.dll     /codebase

Microsoft (R) .NET Framework Assembly Registration Utility 2.0.50727.4927
Copyright (C) Microsoft Corporation 1998-2004.  All rights reserved.

Types registered successfully
Assembly exported to 'D:\WebDlls\MyCompany.MyProject.Com.tlb', and the type library w
as registered successfully

现在刷新您的网页,您应该会在输出中看到Width + Height = 60

这些指令假定您没有在64位中运行任何东西;如果您正在运行,则会变得更加复杂。(您需要将所有内容都作为64位运行-编译64位项目并使用64位版本的regasm.exe将其注册到64位COM,运行64位脚本主机的IIS会访问该COM)-或者手动将所有内容强制为32位。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2050507

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档