如何更改.net dll的guid

How to change guid of .net dll

本文关键字:guid dll net 何更改      更新时间:2023-10-16

我目前正在创建c#dll,并在c++应用程序中使用它。在C#dll中,有一个导出类具有唯一的guid。当我使用CoCreateInstance函数创建实例时,内存中只创建了一个实例。我想创建两个或多个c#实例,所以我认为如果我可以更改c#dll的guid,那么c++应用程序可以使用CoCreateInstance创建两个以上的实例。

如何以编程方式更改已部署dll的guid?或者如何在c#dll中创建两个实例?

您使用的是COM,这意味着您应该遵循COM规则。将对象状态放在全局变量中是错误的,并且会导致您观察到的那种问题。

现在,一些全局状态可能是可以接受的,例如存储日志文件的目录。因此,全局变量的做法并没有被彻底禁止。C#不会试图对你进行事后猜测。如果您使用全局变量,C#假设您明智地使用了它们,而不是用于对象状态。但是,由于您确实需要每个对象的状态,因此必须将这些变量更改为成员,而不是全局变量。s