C#由于Resx文件而重建项目

C#由于Resx文件而重建项目,c#,visual-studio,msbuild,C#,Visual Studio,Msbuild,我正在使用VS2013和MSBuild。我有一个项目,总是重建由于一个resx文件。由于日志中的以下行,我可以从中看出: Input file "obj\Release\Assembly.Properties.Resources.resources" is newer than output file "obj\Release\Assembly.pdb". 这是在GenerateResource目标期间在构建的早期创建的 Processing resource file "Properties

我正在使用VS2013和MSBuild。我有一个项目,总是重建由于一个resx文件。由于日志中的以下行,我可以从中看出:

Input file "obj\Release\Assembly.Properties.Resources.resources" is newer than output file "obj\Release\Assembly.pdb".

这是在GenerateResource目标期间在构建的早期创建的

Processing resource file "Properties\Resources.resx" into "obj\Release\Assembly.Properties.Resources.resources".
如何阻止resx文件始终被处理到资源文件中?这是我们源代码中的一个非常重要的库,这种重新编译使我们的构建变得更长

以下是相关部分的项目xml

<EmbeddedResource Include="Properties\Resources.resx">
  <SubType>Designer</SubType>
  <Generator>ResXFileCodeGenerator</Generator>
  <LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>

<Compile Include="Properties\Resources.Designer.cs">
  <AutoGen>True</AutoGen>
  <DesignTime>True</DesignTime>
  <DependentUpon>Resources.resx</DependentUpon>
</Compile>

设计师
ResXFileCodeGenerator
Resources.Designer.cs
真的
真的
Resources.resx
您是否尝试“触摸”pdb文件的时间戳?这将消除重建的需要。在生成后事件中,可以使用以下命令:

copy /b "$(ProjectDir)obj\$(Configuration)\$(TargetName).pdb" +,,

您需要找出.resx文件正在更改的原因。将其设为只读,则会出现一些问题!当它试图修改文件时..resx文件未更改。修改日期已过几天。对Assembly.Properties.Resources.Resources文件的处理导致重建。将文件obj\Release\Assembly.Properties.Resources.Resources设置为只读,目标GenerateResources失败。仍然不确定此目标为何始终运行。GenerateResource目标。您是否发现了这一点?我也有同样的问题