2011-03-07 48 views
6

我試圖使用aspnet_compiler將已經編譯過的項目從一個位置移動到另一個位置。我使用Subversion進行版本控制。如何使用aspnet_compiler處理排除的文件?

該過程基本上將所有代碼從顛覆中取出,構建,然後調用aspnet_compiler。

我的問題出現時,我有一個排除ascx文件。該文件是最新代碼的一部分,但正常的編譯器忽略它,所以沒有問題。然而,Aspnet_compiler爆發了,因爲它無法找到該特定控件背後的代碼。

我不知道如果

  • 我這樣做的權利;
  • 有一種方法可以從Subversion獲得正確的文件樹
  • 有一種更簡單的方法;或
  • 這是預期的,我需要每次刪除排除的文件。

我很感激任何幫助。

湯姆

+0

如果您的ASCX控件不再需要,爲什麼不刪除它?藉助Subversion,您仍然可以通過舊版本訪問該文件。 –

+0

我們已經從解決方案中刪除了它,但是當我們使用Subversion獲取項目時,它會獲取所有文件,包括未使用的文件。 –

回答

3

這是預期:Aspnet_compiler.exe編譯所有文件,應用程序,不看項目文件。因此,它沒有任何排除文件的概念。

Babak Naffas建議刪除文件可能是處理文件的最簡單方法,而不是每次都手動刪除它(或刪除腳本)。

6

由於.NET 4.5或4.5.1(我不確定哪個)有一個-x選項已添加到aspnet_compiler.exe,它允許您從編譯中排除目錄。你可以通過命令「aspnet_compiler /?」找到選項。

-x   The virtual path of a directory that should be excluded from precompilation. 
This switch can be used multiple times. 

例子:

有一個在我的網站名爲 「ToBeExcluded」 文件夾中。我可以使用下面的命令來預編譯的網站,並排除該文件夾,

aspnet_compiler -v /foo -p "C:\MyWebsite" -x ToBeExcluded "c:\temp\web" 
+0

感謝您的指針。這對我很有用。 – Samuel

1

我努力了這麼久與此有關。但終於找到了解決方法

attrib +h folderToExclude & runAspComplierWithAllOptions & attrib -h folderToExclude 

隱藏文件夾 - >編譯 - >顯示文件夾。