2010-05-31 23 views
0

为什么您需要不止一次在.NET组件上运行regasmcaspol为什么您需要多次运行.net组件上的regasm和caspol?

我有一个COM客户端,它使用驻留在另一台机器上的.NET组件。因此,我需要在此.NET组件上运行regasmcaspol。什么会导致需要在同一台机器上再次对同一个组件执行此操作?

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

编辑:只有capsol需要运行。

+0

系统恢复跳转。 – 2010-05-31 16:46:21

+0

另一位用户正在登录呢? – CJ7 2010-06-01 01:13:06

+0

由于设置未存储在注册表的“每个用户”部分中,所以其他用户无关紧要。所有的COM注册条目都是特定于计算机的,我假设它对于caspol来说是相同的。 – 2010-06-05 16:01:34

回答

1

我对caspol不是很了解,但regasm会写入注册表,所以这些改变不应该自己“消失”,我认为caspol是类似的。所以这听起来像其他人一直在搞那台电脑。

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

0

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

+0

事实上,这只是卡斯波尔需要运行。需要caspol重新运行的程序集来自第三方。在.NET升级后,该程序集上的CAS策略是否需要调整? – CJ7 2010-06-06 05:53:10

+0

CAS策略的版本依赖关系适用于所有程序集,因此很有可能。 – 2010-06-07 11:53:44

相关问题