4

我和我的共同开发人员最近将机器升级到了 Windows 7 Ultimate 64 位。我们中的一些人看到了以前在 Visual Studio 中构建解决方案时从未见过的新错误(发生在 2008 年和 2010 年):

生成 Win32 资源时出错:该进程无法访问该文件,因为它正被另一个进程使用。

它总是指向我们输出文件夹中的一些临时文件,例如:

MyProject\obj\Debug\CSC5123.tmp

这种情况大约每四个左右构建一次。然后我们将尝试再次运行相同的完全相同的构建,它通常会成功。但在某些情况下,它会在同一个项目上再次失败,在同样的情况下,它会在不同的项目上失败。真的没有押韵或理由。但这非常令人沮丧,尤其是在构建运行 20 秒左右才发生这种情况时。

这也不会发生在我们所有的同事身上。它发生在大约四分之一的开发人员身上。对于第一个,它发生在四个构建中的一个,而对于其他三个,它永远不会发生。

哦,我有没有提到我们都在使用由相同图像构建的机器?:)

提前感谢您提供的任何方向。

4

1 回答 1

0

我找到了答案。至少它有效。添加

<IntermediateOutputPath>C:\Users\user\AppData\Local\Temp\vs9267.tmp\Debug\</IntermediateOutputPath>

给你的

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> 

项目设置文件中的节点。沃拉!

我的项目的示例代码在这里:

<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>
于 2013-05-31T21:45:18.260 回答