Register managed assemblies with COM without using the GAC(在不使用 GAC 的情况下向 COM 注册托管程序集)
问题描述
我想知道是否可以在不向 GAC 注册的情况下向 COM 注册程序集.我们需要使用 CCW 部署一些暴露给经典 asp 的 .net 库.但是部署是一场噩梦.
I'm wondering if it possible to register assemblies with COM without having to register it with the GAC. We need to deploy some .net libraries that are exposed to classic asp using a CCW. But deployments are a nightmare.
推荐答案
是的,使用 regasm.exe 和 /codebase 键.当您使用 regasm.exe 而不使用 /codebase 时,它只会将程序集的文件名写入注册表,因此 .NET 运行时无法找到它,除非程序集位于GAC.使用 /codebase 它将写入完整路径,当使用者调用 CoCreateInstance() 时,.NET 将很高兴找到程序集.
Yeap, use regasm.exe with /codebase key for that. When you use regasm.exe without /codebase it only writes the filename of the assmebly to the registry and so the .NET runtime can't find it unless the assembly is in the GAC. With /codebase it will write the full path and .NET will be happy to find the assembly when the consumer calls CoCreateInstance().
这篇关于在不使用 GAC 的情况下向 COM 注册托管程序集的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在不使用 GAC 的情况下向 COM 注册托管程序集
基础教程推荐
- 重新排序 WPF TabControl 中的选项卡 2022-01-01
- 更新 Visual Studio 中的 DataSet 结构以匹配新的 SQL 数据库结构 2022-01-01
- 获取C#保存对话框的文件路径 2022-01-01
- Mono https webrequest 失败并显示“身份验证或解密失败" 2022-01-01
- SonarQube C# 分析失败“不是指针的有效行偏移" 2022-01-01
- 在 VB6 或经典 ASP 中使用 .NET 2022-01-01
- 如果条件可以为空 2022-01-01
- 将数据集转换为列表 2022-01-01
- C# 9 新特性——record的相关总结 2023-04-03
- 从 C# 控制相机设备 2022-01-01
