Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 在不使用GAC的情况下向COM注册托管程序集_.net_Com_Asp Classic_Com Interop_Ccw - Fatal编程技术网

.net 在不使用GAC的情况下向COM注册托管程序集

.net 在不使用GAC的情况下向COM注册托管程序集,.net,com,asp-classic,com-interop,ccw,.net,Com,Asp Classic,Com Interop,Ccw,我想知道是否可以在不必向GAC注册的情况下向COM注册程序集。我们需要使用CCW部署一些暴露于经典asp的.net库。但部署是一场噩梦 是的,您可以在程序集上使用Regasm,而不必将其放在GAC中。例如,我在bin文件夹中混合了ASP和ASP.NET站点以及.NET程序集。有些是暴露于COM的,并从bin文件夹中就地注册 当然,这些程序集对于应用程序来说是唯一的,并且不会被其他应用程序共享。也不是说这是不可能的,您可能会选择一个中立的位置将这些DLL复制到。是的,请使用带有/codebase键

我想知道是否可以在不必向GAC注册的情况下向COM注册程序集。我们需要使用CCW部署一些暴露于经典asp的.net库。但部署是一场噩梦

是的,您可以在程序集上使用Regasm,而不必将其放在GAC中。例如,我在bin文件夹中混合了ASP和ASP.NET站点以及.NET程序集。有些是暴露于COM的,并从bin文件夹中就地注册


当然,这些程序集对于应用程序来说是唯一的,并且不会被其他应用程序共享。也不是说这是不可能的,您可能会选择一个中立的位置将这些DLL复制到。

是的,请使用带有
/codebase
键的
regasm.exe
。如果在不使用
/codebase
的情况下使用
regasm.exe
,它只会将组件的文件名写入注册表,因此.NET运行时无法找到它,除非程序集位于GAC中。使用
/codebase
它将编写完整路径,当使用者调用
CoCreateInstance()
时,.NET将很高兴找到程序集