你为什么需要多次在.net组件上运行regasm和caspol?

时间:2010-05-31 14:55:54

标签: .net com-interop regasm caspol

为什么需要多次在regasm组件上运行caspol.NET

我有一个COM客户端,它使用驻留在另一台计算机上的.NET组件。因此,我需要在此regasm组件上运行caspol.NET。是什么原因导致需要在同一台机器上再次执行相同的组件?

regasmcaspol的影响只是暂时的吗?或者我可以假设有人在机器上重置或清除某些东西,如果我不得不再次这样做了吗?

编辑:只需要运行capsol。

2 个答案:

答案 0 :(得分:1)

我对caspol知之甚少,但是regasm会写入注册表,因此更改不应该自己“消失”,我认为caspol是类似的。所以听起来好像其他人一直在搞乱那台电脑。

如果有人启动机器并告诉它使用“最后已知的良好设置”或其他任何设置,这可能会受到影响。

答案 1 :(得分:0)

你确定需要重新运行regasm和caspol吗?如果是这样,Hans Passant建议系统恢复似乎很可能。但是,如果它只是实际需要重新运行的caspol,则可以使用.NET Framework升级。 CAS策略特定于运行组件的.NET CLR版本,因此在以前只有1.x的计算机上安装.NET 2.0可能会导致您的问题。 32位和64位CLR也使用不同的安全策略,因此安装备用位数.NET Framework也可能导致您在尚未调整的CAS策略下加载程序集。