为什么你需要多次regasm
运行caspol
一个组件?.NET
我有一个 COM 客户端,它使用.NET
驻留在另一台机器上的组件。因此我需要在这个组件regasm
上运行。什么可能导致需要在同一台机器上对同一组件再次执行此操作?caspol
.NET
regasm
的影响caspol
只是暂时的吗?或者如果我必须再次执行此操作,我是否可以假设有人已重置或清除机器上的某些内容?
编辑:只需要运行 capsol。
为什么你需要多次regasm
运行caspol
一个组件?.NET
我有一个 COM 客户端,它使用.NET
驻留在另一台机器上的组件。因此我需要在这个组件regasm
上运行。什么可能导致需要在同一台机器上对同一组件再次执行此操作?caspol
.NET
regasm
的影响caspol
只是暂时的吗?或者如果我必须再次执行此操作,我是否可以假设有人已重置或清除机器上的某些内容?
编辑:只需要运行 capsol。
我对 caspol 了解不多,但 regasm 会写入注册表,因此更改不应自行“消失”,我认为 caspol 是相似的。所以听起来确实有人在弄乱那台电脑。
如果有人启动机器并告诉它使用“最后一次已知的良好设置”或其他任何名称,这可能会受到影响。
您确定 regasm 和 caspol 都需要重新运行吗?如果是这样,Hans Passant 的系统还原建议似乎很有可能。但是,如果实际上需要重新运行的只是 caspol,则可能需要进行 .NET Framework 升级。CAS 策略特定于运行组件的 .NET CLR 版本,因此在以前只有 1.x 的计算机上安装 .NET 2.0 可能会导致您的问题。32 位和 64 位 CLR 还使用不同的安全策略,因此安装备用位 .NET Framework 也可能导致您的程序集在您尚未调整的 CAS 策略下加载。