2010-09-02 173 views
17

我最近從Windows XP機器切換到Windows 7.我使用Subversion和TortoiseSVN。Visual Studio發佈失敗:「無法刪除文件...訪問路徑...被拒絕。」

我無法在Visual Studio中發佈我的.NET應用程序。我得到過千象這樣的錯誤:

無法刪除文件 「OBJ \調試\包\ PackageTmp \查看\ ViewName.svn \文基\ ActionName.aspx.svn基地」。 訪問路徑 'C:\ Code \ SolutionName \ ProjectName \ obj \ Debug \ Package \ PackageTmp \ Views \ ViewName.svn \ text-base \ ActionName.aspx.svn-base' 被拒絕。

Visual Studio: "Publish failed"

爲什麼顛覆給我的麻煩?我如何解決它?


我禁用了我的bin和obj文件夾的文件索引。但是,這並沒有奏效。

Allow files in this folder to have contents indexed in addition to file properties

+1

我遇到了相同的錯誤消息,但出於不同的原因。我正在對WCF項目進行更改,並且在過去的某個時候,我已將可執行文件安裝在調試文件夾中作爲仍在運行的Windows服務。 – Sean 2012-11-16 15:41:22

+0

因爲你使用的是Win7,所以在這裏也可以看看[這篇文章](http://subversion.wandisco.com/component/content/article/1/37.html)。 – Stefan 2010-09-02 17:30:09

回答

28

我注意到我的文件夾是隻讀的。我改變了這一點。

它的工作!發佈成功。

Folder Properties Read-only

+1

AFAIK只是一個權限問題,嘗試設置共享文件夾提升的權限,但針對機器,否則當您使用用戶它不會工作 – 2010-09-02 19:58:56

+1

我有這個問題,這是我的修補程序。這些文件不是在計算機上創建的,而是完成了項目的。 – BarrettJ 2010-12-21 00:05:41

+0

對我來說也是固定的,我想知道爲什麼這些只是默認閱讀。 – BigOmega 2011-07-29 13:52:47

2

最可能的原因是權限問題。在所有可能的情況下,有問題的路徑是在您使用提升的權限運行時創建的,因此需要管理員權限才能刪除。嘗試以管理員身份運行Visual Studio並查看問題是否消失。

如果是這樣的話,最好的解決辦法是做到以下幾點

  1. 將更改保存到該目錄(如有必要檢查)
  2. 刪除庫
  3. 重新檢查了倉庫,並確保你這樣做並不是以管理員身份運行
+0

謝謝。我嘗試以管理員身份運行Visual Studio。但是,這並沒有奏效。 – 2010-09-02 19:10:41

+0

謝謝。我重新創建了Subversion服務器的新文件夾。但是,這並沒有奏效。 – 2010-09-02 19:11:17

+1

@Zack,那麼這表明某些內容已經以非可共享權限打開。嘗試使用handle.exe來查看誰將其打開。 – JaredPar 2010-09-02 19:51:43

4

我相信你的問題與在Windows 7(和Vista)中分配給C:驅動器的默認權限有關。

  1. 打開資源管理器,找到C:\代碼文件夾
  2. 右擊C:\代碼文件夾 並選擇屬性
  3. 選擇安全選項卡
  4. 選擇用戶ID「用戶」
  5. 在權限框中打勾 「修改」允許箱
  6. 選擇OK,OK,直到permision對話框 盒接近

這應該解決權限問題

+0

謝謝。我改變了文件夾設置。但是,這並沒有奏效。 – 2010-09-02 19:10:12

2

我有同樣的問題,並沒有以前的解決方案的工作。對我而言,工作是將bin和obj文件夾從存儲庫中取出。這樣做後,我能夠發佈。

1

Zack Peterson給出了什麼解決方案?謝謝扎克!

我正在編寫一個應用程序,它將在部署過程中自動刪除所有.SVN文件夾和文件。雖然這樣做,但我得到了與上述相同的錯誤。

  • 一旦我改變了文件夾只讀,我能夠以編程方式刪除文件和文件夾。
  • 我的下一步是以編程方式設置屬性而不是隻讀以便我可以通過單擊按鈕完成整個安裝。
1

我剛剛刪除發佈目的地的現有文件夾,然後允許發佈工作。取消設置只讀似乎不起作用。 (不知道爲什麼這開始發生)。

1

奇怪的是,我嘗試使用Visual Studio 2010構建一箇舊項目。它給了我錯誤,因爲我的訪問被拒絕而失敗。我試圖從目錄中刪除只讀,但沒有運氣。

雖然,當我在Visual Studio 2015中打開它時,它給了我錯誤,證書已過期。

創建新證書並重建時 - 一切都很好。

0

如果您被拒絕訪問任何特定的文件夾,則其他應用程序正在使用它。檢查是否有其他應用程序正在使用該路徑來引用該文件夾中任何文件的該文件夾。 就我而言,我的應用程序是在bin文件夾內引用一個文件。所以每次我發佈和刪除舊的。將會拋出bin文件夾無法刪除的錯誤。拒絕訪問。 我去了我的申請。在每個dll的引用路徑中檢查,刪除引用發佈路徑和BOOM 問題解決的問題。

0

對我來說,windows服務在後臺運行。關閉任務管理器的服務,然後重建項目爲我完成了這項工作。