2014-07-08 20 views
4

我正在使用VS 2013和MSBuild。由於resx文件,我有一個總是重建的項目。我可以告訴由於我的日誌中的以下行:由於Resx文件造成的C#項目重建

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> 
+1

您需要找出.resx文件正在更改的原因。使其成爲只讀,並且有些事情會發生爆炸!當它試圖修改文件。 –

+0

.resx文件未更改。修改日期已過去幾天。處理到Assembly.Properties.Resources.resources文件導致重建。 –

+0

將文件obj \ Release \ Assembly.Properties.Resources.resources設置爲只讀,並且目標GenerateResources失敗。仍然不確定爲什麼這個目標總是在運行。 –

回答

0

您是否嘗試「觸摸」pdb文件的時間戳?這應該擺脫重建的需要。在生成後事件中,您可以使用以下命令:

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