为什么需要多次在regasm
组件上运行caspol
和.NET
?
我有一个COM客户端,它使用驻留在另一台计算机上的.NET
组件。因此,我需要在此regasm
组件上运行caspol
和.NET
。是什么原因导致需要在同一台机器上再次执行相同的组件?
regasm
和caspol
的影响只是暂时的吗?或者我可以假设有人在机器上重置或清除某些东西,如果我不得不再次这样做了吗?
编辑:只需要运行capsol。
答案 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策略下加载程序集。