使用Visual Studio 2005与最新的服务包。故障排除集链接错误,C++,VS 2005
我有38个项目(即我刚刚继承。)当我建立这个解决方案,我是从集链接收到以下错误的托管C++解决方案:
“错误AL1019:元数据失败同时创建程序集 - 该进程无法访问该文件,因为它正在被另一个进程使用。“
我有点不知所措如何解决或解决此。构建输出中的周围步骤如下:
- 写入资源文件...完成。
- 编译资源...
- 链接...
- 创建库[路径] \ [文件名] .LIB和对象[路径] \ [文件名] .EXP
- 创建资源卫星...
- 此处发生错误。
Build或Rebuild与Project Only之间的结果没有区别,有或没有首先清理解决方案。而且,在所有情况下,都会创建该项目的DLL,EXP,ILK,LIB和PDB文件。
我比这个特殊的项目被类似的结构,并没有看到明显的差异溶液中的其它项目。我查看了在构建过程中生成的批处理文件和临时rsp文件,并且没有发现任何可跳转的文件。
我目前的猜测是,链接器试图将中间清单文件嵌入到程序集中,而其他东西仍在尝试写入相同的中间清单文件(或程序集本身)。虽然,我很善良在这一点上猜测。
如果有人知道如何解决这个或有任何见解,以什么其他考虑,试图解决我会非常感激。谢谢。
我生成日志的最后的消毒版本,如果它可以帮助:
/ASSEMBLYRESOURCE:".\Debug\[Namespace].[ErringProject].dll.licenses"
]
Creating command line "link.exe @[Path]\[ErringProject]\Debug\RSP00030A20042852.rsp /NOLOGO /ERRORREPORT:PROMPT"
Creating temporary file "[Path]\[ErringProject]\Debug\RSP00030B20042852.rsp" with contents
[
/out:"[OutputPath]\[Namespace].[ErringProject].dll"
/c:Run
/template:"..\..\..\..\..\Run\[Namespace].[ErringProject].dll"
/embed:".\Debug\[Namespace].StringsNT.resources"
/embed:".\Debug\[Namespace].Strings.resources"
]
Creating command line "al.exe @[Path]\[ErringProject]\Debug\RSP00030B20042852.rsp /nologo"
如果文件被阻止(“使用”),你不能重命名或删除它,你仍然可以找出哪个进程是使用ProcessExplorer [http://technet.microsoft.com/en-访问文件us/sysinternals/default.aspx](查找句柄或DLL)。 – MP24 2009-09-29 16:27:57
不幸的是,没有告诉我这* *文件正在使用中。我确保在构建之前清理所有输出,并在出错时使用进程资源管理器来查看是否有临时或最终输出文件有锁定 - 它们不会。 – 2009-09-29 16:29:35
防病毒更改也不会造成影响。 – 2009-09-29 16:33:10