2009-12-14 31 views
14

我有一個Web應用程序,我試圖升級到.net 4.0。升級到.net 4.0後無法加載文件或程序集「AjaxControlToolkit」

我接過應用程序,並通過Visual Studio 2010 Beta 2打開它並選擇該應用程序的升級路徑。該應用程序使用AjaxControlToolkit。現在,當我嘗試訪問頁面時升級已完成,我收到錯誤消息:「無法加載文件或程序集」AjaxControlToolkit「或其某個依賴項,訪問被拒絕。」

我已經試過:

  • 在濱重新啓動我的機器
  • 清理解決方案
  • 刪除所有文件臨時ASP.Net文件
  • 放鬆permsissions(加入人人具有完全控制)目錄,Temporary ASP.Net Files目錄
  • 刪除並讀取對AjaxControlToolkit DLL的引用

爲AjackControlToolkit的相關web.config中的項目有:

<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"> 
    <controls> 
    <add tagPrefix="ajaxToolkit" namespace="AjaxControlToolkit" assembly="AjaxControlToolkit"/> 
    </controls> 
</pages> 

任何想法,什麼是發生在這裏/我怎樣才能解決這個問題?

+0

+1:快速測試*以查看用戶與模擬權相關的*是否將本地管理員權限授予您的模擬帳戶。如果問題消失,則需要爲帳戶分配特定的訪問權限才能訪問IIS文件。 – 2012-01-30 10:33:56

+0

對於所有建議仍然存在問題的其他人來說,此鏈接可能會引起您的興趣。 http://stackoverflow.com/a/23534971/1027250 – Yorro 2014-05-08 09:27:39

回答

1

不是100%確定爲什麼這個工作,但在相應的Temporary ASP.Net文件目錄中(位於:C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.21006 \ Temporary ASP.NET Files [projectName])我手動複製了AjaxControlToolkit.dll。

然後我提供了附加的DLL丟失,但手動將它們複製到這個位置,我也能夠解決這些問題。似乎不是最好的答案,但它最終爲我工作。

+0

只是出於好奇,你有沒有試過只刪除所有的臨時文件? – NotMe 2010-04-14 19:10:58

+0

我曾嘗試刪除所有臨時文件,但沒有運氣 – ChrisHDog 2010-04-14 20:00:37

1

奇怪的錯誤。您的web.config文件中的任何內容是否使用公鑰標記或其他提供的組件規範指向AjaxControlToolkit?這發生在我身上,值發生了變化,或者我從GAC中的參考文獻更改爲本地參考文獻...

HTH。

13

我有一個類似的問題,但能夠通過授予我的模擬身份的「Temporary ASP.NET Files」文件夾的完整權限來解決。

+5

我通過將模擬用戶添加到我的Vista工作站上的IIS_IUSRS組來解決此問題。 – jrummell 2010-07-08 13:57:35

+2

我知道這是一個古老的線索,但我在這裏評論只是爲了強調這個答案和jrummell的評論。將模擬用戶添加到IIS_IUSRS組中可以完全訪問Temporary ASP.NET Files目錄。它還有什麼作用?我不知道,但我認爲這是一種更「正確」的方法,而不僅僅是授予對該目錄的特定權限。用戶需要運行ASP.NET應用程序還有哪些其他權限?我不知道,但這個小組應該有他們,對吧? – JeffK 2012-06-21 14:56:07

+0

類似:對於我來說,它是給模擬用戶(這是* IUSR_ [機器名] *如果web.config有* impersonate = true *但沒有指定用戶名)修改,讀取和執行我的web應用程序文件夾的權限* *並確保這些權限傳播給所有子文件夾**(單擊高級按鈕)。 – MGOwen 2012-08-08 11:06:29

3

我認爲有關C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.21006 \ Temporary ASP.NET Files [projectName]中臨時文件的帖子在正確的軌道上。

我通過編輯權限解決了這個問題,以確保ASP模擬用戶(在IIS的安全部分中找到匿名訪問的應用程序應該使用的匿名用戶)具有適當的目錄安全性。

解決了問題...拒絕訪問通常指向權限問題。

2

我試着給我的模擬用戶完全擁有Temporary ASP.NET Files文件夾的權限,但那沒有用。我記得在過去,當我得到這個錯誤,它做到了。

我知道問題海報試過這個,但它在我在Visual Studio中刪除/添加AjaxToolKit時適用於我。我建議先嚐試他所做的一切。我希望這可以幫助別人。

3

我得到這個錯誤消息(儘管另一個DLL文件),當我重新安裝新的Windows Server 2008的計算機上我的ASP.NET應用程序。我搜索了幾個小時的解決方案,嘗試絕對一切,但無濟於事。直到我停用McAfee防病毒軟件。當我這樣做時,一切都像魅力一樣。

6

我知道已經有一個公認的答案,但對於其他人通過錯誤代碼搜索來到這個頁面....

評論的用戶,你試圖模仿的權限。

在我的情況,我只是得到我的開發機器上的錯誤,而不是在我們的升級或部署服務器。 (因爲儘管我周圍這讓在我的開發環境除去配置的「身份」節點,只是添加行生成後所以它不是爲我比任何其他人的問題..

在我的環境我們有一個特定的用戶,我們所有的Web應用程序在運行時都會模擬,我已經創建了用戶帳戶,但沒有明確設置它的帳戶權限,當我在開發機器上將用戶添加爲管理員時,此問題完全消失。 (不理想,我知道,但它「爲我工作」,並有傷害最小,因爲該用戶帳戶被鎖定反正我們倒「真正的」服務器上..)

1

你可以試試這個: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\只是乾淨。從這個文件夾中的所有文件夾和文件,並編譯你的應用程序離子。快樂的編碼!

1

我正面臨同樣的問題。經過大量研究後,我發現我在配置文件中使用模擬。我必須將模擬ID更改爲服務器本地的其他用戶,並立即解決問題。

1

檢查DLL的屬性。如果它指出「這個文件來自另一臺計算機」,請點擊複選框並點擊「應用」,解除Windows已經實施的限制。

0

還記得使用上下文菜單[右鍵單擊]以「以管理員身份運行」打開「Visual Studio」。

相關問題