2011-03-23 50 views

回答

1

「附加依賴」是正確的,唯一記載的方式。你可以調整該字段的內容使用外部工具,以節省做一個拷貝的麻煩在項目文件構建工具&粘貼&錯字調整。

0

它不會很可靠,但你可以把所有的文件放在一個子文件夾中,並使文件夾成爲依賴。

+0

確實有效嗎? – Boinst 2011-04-05 08:14:29

+0

沒有。它沒有。 – Boinst 2011-04-05 08:28:13

7

剛纔提出的構建工具依賴於一個文件。創建另一個自定義構建工具,在其之前運行,如果任何真正的依賴關係發生了變化,則觸及此文件。好處是我現在具有相當多的靈活性,並且如果依賴關係發生變化,則不需要更改任何項目設置 - 這是通過新的自定義構建工具訪問的數據庫處理的。

+0

這聽起來也是一個很好的解決方案。 – 2011-03-25 12:07:01

0

一點點劈:

(1)組中的相關性文件到一個單獨的文件夾

(2)創建JScript文件detect.js如下:

var output = WScript.arguments(0); 
var folder = WScript.arguments(1); 
var fso = new ActiveXObject("Scripting.FileSystemObject"); 
var objOutput = fso.GetFile(output); 
var objFolder = fso.GetFolder(folder); 
// if the output file is older than input folder, 
// delete output file to force regenerate 
if (objOutput.DateLastModified < objFolder.DateLastModified) { 
    fso.DeleteFile(objOutput); 
} else { 
    // if the output file is older than one of files in the input folder, 
    // delete output file to force regenerate 
    var e = new Enumerator(objFolder.Files); 
    for (; !e.atEnd(); e.moveNext()) { 
     if (objOutput.DateLastModified < e.item().DateLastModified) 
      fso.DeleteFile(objOutput); 
      break; 
     } 
    } 
} 

(2)添加命令行來預生成事件如下:

cscript.exe /nologo detect.js $(Output) $(InputFolder) 

(3)設置第e自定義Buld步驟強制發生預建立事件,即

Command Line: echo -------------- 
Outputs: echo.fake 
Execute After: PreBuildEvent 
相關問題