我的联合开发人员和我最近将机器升级到Windows 7 Ultimate 64位。我们中的一些人看到了一个我们在Visual Studio中构建解决方案时常常看不到的新错误(在2008年和2010年都发生过):
生成Win32资源时出错:进程无法访问该文件,因为该文件正由另一个进程使用。
它始终指向输出文件夹中的某个临时文件,例如:
MyProject的\ OBJ \调试\ CSC5123.tmp
这种情况大约每四个左右发生一次。然后我们将尝试再次运行相同的构建,并且通常会成功。但在某些情况下,它会在同一个项目中再次失败,在相同的情况下,它将在另一个项目上失败。真的没有押韵或理由。但它非常令人沮丧,特别是在构建运行20秒左右之后才会发生。
这也不会发生在我们所有的同事身上。它大约有四分之一的开发人员。对于一个,它发生在四个构建中的一个,而对于其他三个,它永远发生。
哦,我提到过我们都在使用同一张图片制作的机器吗? :)
提前感谢您提供的任何方向。
答案 0 :(得分:0)
我找到了答案。至少它是有效的。添加
<IntermediateOutputPath>C:\Users\user\AppData\Local\Temp\vs9267.tmp\Debug\</IntermediateOutputPath>
到你的
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
项目设置文件中的节点。 Volaa!
示例代码适用于我的项目:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<IntermediateOutputPath>C:\Users\ZGRSNM~1\AppData\Local\Temp\vs9267.tmp\Debug\</IntermediateOutputPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<IntermediateOutputPath>C:\Users\ZGRSNM~1\AppData\Local\Temp\vs9267.tmp\Release\</IntermediateOutputPath>
</PropertyGroup>