2

我有一个 C++ 项目,它在几个程序集的预构建事件中调用 RegAsm。预构建事件失败并出现以下错误:

Error 1 error RA0000 : An error occurred while writing the registration
information to the registry. You must have administrative credentials to perform 
 this task. Contact your system administrator for assistance.   RegAsm  

当我检查 BuildLog.htm 时,它在预构建事件中有以下命令:

C:\Windows\Microsoft.NET\Framework\v2.0.50727\regasm 
    ../../../CommonLib/release/Services.dll 
    /tlb:c:\TFS\Console\Solution\Bridge\Services.tlb

所以我复制了命令并以管理员身份在 Visual Studio 2010 命令提示符下运行它,但得到了同样的错误。

直到最近,我才能很好地构建这个项目。 不知道是什么导致了这个问题。任何帮助表示赞赏。

我是这台计算机上管理员组的成员,并且已关闭 UAC。

4

5 回答 5

2

右键单击打开cmd,然后“以管理员身份运行”

于 2013-01-10T17:39:10.537 回答
1

检查文件是否被另一个进程锁定。您可以使用 Sysinternals Process Monitor 工具进行检查,以确保文件未被锁定或未被其他进程使用。它结合了两个传统 Sysinternals 实用程序 Filemon 和 Regmon 的功能

另外,在StackOverflow上查看这个类似的问题

于 2012-07-08T23:28:44.623 回答
1

很抱歉交叉发布,但这首先出现在谷歌上,所以我会保持最新的答案。

我在这里遇到了同样的问题,但目标平台相反。我通过运行 x86 版本的 regasm 而不是 x64 来解决它。它可能对你有用吗?所以在而不是

C:\Windows\Microsoft.NET\Framework\v2.0.50727>regasm.exe

使用 x64 位版本

C:\Windows\Microsoft.NET\Framework64\v2.0.50727>regasm.exe
于 2016-05-17T14:59:59.543 回答
0

好吧,我已经通过在 HKEY_CLASSES_ROOT 键上为我当前登录的用户添加“完全控制”权限(有点初级,但它有效)解决了这个问题。我已经运行了提升的 cmd,我的用户在“管理员”组中,但似乎这些还不够。

于 2015-01-22T08:07:53.260 回答
0

以管理员身份打开您的 VS。它清楚地表明某些权限被拒绝。要使其正常工作,您必须确保已在管理员模式下打开它。

于 2021-03-19T07:17:08.503 回答