2010-05-04 32 views
10

我一直在使用Windows 7一段時間,但從未使用特定的舊式Intranet應用程序我的升級。不幸的是,這個應用程序被設置爲一個內部網服務器上託管的ASP.NET網站項目。當我的網站在Visual Studio 2008中打開並嘗試調試它,我收到以下編譯器錯誤:在網絡共享或Intranet項目上編譯網站時,請求「System.Web.AspNetHostingPermission」類型的權限失敗

索取型「System.Web.AspNetHostingPermission」的許可失敗

要解決此在Windows Vista計算機上出現問題時,我會將本機的.NET安全配置信任級別更改爲本地內部網絡的完整級別(fix outlined here)。我相信這個配置實用工具依賴於來自粗略研究的mscorcfg.msc,它似乎是.NET 2.0 SDK的一部分。我試圖按照Microsoft Support article的指示運行下面的命令無濟於事。

 
Drive:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\caspol.exe -m -ag 1 -url 
"file:////\\computername\sharename\*" FullTrust -exclusive on 

目前,我有以下的.NET,我的機器

  • 微軟.NET Compact Framework的2.0 SP2
  • 微軟.NET精簡框架上安裝了ASP.NET和.NET SDK組件3.5
  • Microsoft .NET Framework 4客戶端配置文件
  • Microsoft .NET Framework 4 Extended
  • Microsoft .NET Framework 4的多目標包
  • 微軟ASP.NET MVC 1.0
  • 微軟ASP.NET MVC 2
  • 微軟ASP.NET MVC 2 - Visual Studio 2008和的工具
  • 微軟ASP.NET MVC 2 - Visual Studio 2010和的工具
  • 微軟Windows SDK的Visual Studio 2008的.NET Framework工具 - ENU
  • 微軟Windows SDK的Visual Studio 2008的頭文件和庫
  • 微軟Windows SDK的Visual Studio 2008的SDK引用程序集和IntelliS ense
  • 的Microsoft Windows SDK爲Visual Studio 2008 SP1工具
  • 的Microsoft Windows SDK爲Visual Studio 2008 SP1的Win32工具
  • 的Microsoft Windows SDK的Windows Server 2008(6001.18000.367)

我需要安裝.NET 2.0 SDK?我是否錯誤地發出了caspol命令?還有什麼我失蹤的?

回答

16

經過一些額外的挖掘,我遇到了由Aaron Stebner撰寫的博客文章,內容覆蓋Details about setup for the .NET Framework 2.0 configuration tool。 Stebner詳細介紹瞭如何從.NET可再發行組件中刪除配置實用程序,並將其放置在SDK中。幾年前沒有什麼大不了的,但現在社區依賴較新的SDK,並且只安裝了框架的可再分發版/壓縮版本,因此我們無法訪問.NET Framework 2.0配置工具。

微軟的官方答覆是Configure Security Policy Using the Code Access Security Policy Tool (Caspol.exe)。不幸的是,這個命令行工具並不適合我。然而,我不排除用戶錯誤爲什麼失敗。

最終,Stebner解決了我的問題,因爲他提供了一個installer for the configuration tool。一旦我安裝了配置實用程序,我就可以按照第DotNetSlackers article System.Web.AspNetHostingPermission when Accessing Network or Intranet Projects using Visual Studio 2005中概述的步驟進行操作,這些步驟已在下面的步驟中解釋。

要改變本地機器的.NET安全設置轉到

開始>控制面板 - >管理工具>微軟.NET Framework 2.0配置

完全展開我的電腦並選擇運行安全策略。在右側,選擇調整區域安全。保留默認選項(更改此計算機)並點擊下一步。選擇本地內聯網並將信任級別更改爲完全信任。然後選擇下一步然後完成。重新啓動Visual Studio,你應該全部設置。

8

嘗試將應用程序池設置Load User Profile更改爲True

在Windows 7中默認設置爲False。看來在Windows Vista中,IIS 7會自動爲您設置此功能。

+1

對於在Visual Studio的Cassini下運行的東西,這是真的嗎?我沒有在本地安裝IIS。 – ahsteele 2010-05-05 20:55:21

-1

這個問題發生在我身上,解決方案很簡單,我只是在應用程序池用戶的物理文件上添加權限,然後創建IISReset,現在就可以工作。

+2

我近兩年沒有想過這個問題。您能否爲您的解決方案提供更多的上下文和屏幕截圖?就目前來看,這個答案有點含糊。 – ahsteele 2012-02-17 20:29:18

相關問題