2016-03-14 65 views
0

相比How to tell visual studio to rebuild every time I make a change?強制Visual Studio來重建上啓動調試

這是非常不同的問題是,我已經修改未被引用一個項目的csproj(因爲它的運行時間依賴性)。

所以舉例來說,在我的csproj文件,我有:

<Import Project=".\UnreferencedProjects-Developer.targets" /> 

在我.targets文件,我有:

<?xml version="1.0" encoding="utf-8"?> 
<Project ToolsVersion="3.5" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <Target Name="BuildDependencyForDevelopers" AfterTargets="Build"> 
    <Message Text="========================================" /> 
    <Message Text="Developer Building Unreferenced Projects" /> 
    <Message Text="========================================" /> 
    <!--MSBuild Projects="$(ProjectToBuild)"--> 
    <MSBuild Projects="../OtherProject/OtherProject.csproj"> 
     <Output ItemName="ProjectOutputs" TaskParameter="TargetOutputs"/> 
    </MSBuild> 
    <Message Text="@(ProjectOutputs)"/> 
    <Message Text="=======================================" /> 
    <Message Text="Developer Copying Unreferenced Projects" /> 
    <Message Text="=======================================" /> 
    <Copy SourceFiles="$(ProjectDir)\..\OtherProject\bin\$(Configuration)\OtherProject.dll" DestinationFolder="$(OutDir)" ContinueOnError="true"/> 
    <Copy SourceFiles="$(ProjectDir)\..\OtherProject\bin\$(Configuration)\OtherProject.pdb" DestinationFolder="$(OutDir)" ContinueOnError="true"/> 
    <Message Text="=============================================" /> 
    <Message Text="Developer Finished with Unreferenced Projects" /> 
    <Message Text="=============================================" /> 
    </Target> 
</Project> 

的問題是,.targets.文件似乎只在執行手動構建/重建,而不是啓動調試。

所有配置都設置爲Build。選項 - >項目和解決方案 - >生成並運行 - >運行時,當項目過期時:始終生成。

我認爲問題在於,因爲該項目未被引用,當我開始調試有沒有過時的項目,所以它啓動時沒有建立/重建。我如何強制它總是(重新)建立

回答

2

添加到項目:這裏

<PropertyGroup><DisableFastUpToDateCheck>true</DisableFastUpToDateCheck></PropertyGroup> 

關鍵詞是「快速檢查更新」:Visual Studio中使用它,當你調試,以避免甚至啓動的MSBuild。

相關話題:MSBuild Target that always runs when clicking build in VS2013

背景信息:https://msdn.microsoft.com/library/ms171468%28v=vs.110%29.aspx

如果在開始調試在Visual Studio UI(無論是通過選擇F5鍵或選擇調試,開始調試菜單欄上),構建過程使用快速更新檢查來提高性能。在某些情況下,自定義構建會創建依次構建的文件,但快速更新檢查不能正確識別已更改的文件。需要更徹底更新檢查的項目可以通過設置環境變量DISABLEFASTUPTODATECHECK = 1來關閉快速檢查。或者,項目可以將其設置爲項目中的MSBuild屬性或項目導入的文件中。