簡體   English   中英

在.NET 3.5和Visual Studio 2008中找不到HttpContext

[英]Can't find HttpContext in .NET 3.5 and Visual Studio 2008

我從這里使用代碼,我得到以下錯誤:不能使用HttpContext.Current.Server.MapPath()

在Visual Studio 2008中,當您缺少引用時,ContextMenuEntry“Solve”會幫助您嗎?

我已經發現HttpContext不是我IDE中System.Web的成員。 根據幫助>信息我使用的是.NET 3.5 SP1。

我該如何運行?

在這種情況下你通常如何反應? 你在msdn.com找什么東西?

在那種情況下,我會在MSDN(或Google)上查看HttpContext 我做到了,它說它在System.Web 因此,請確保您的項目具有對System.Web的引用。

“添加參考”菜單項

“添加引用”對話框中的“System.Web”

......然后它似乎工作:

HttpContext現已推出。

您可以查看HttpContext類的文檔 ,它會告訴您它位於System.Web.dll庫中的System.Web命名空間中。

因此,要使用它,您需要對System.Web.dll庫的引用,並且您需要using System.Web; 聲明,或使用完全限定名稱System.Web.HttpContext.Current.Server.MapPath

但是,您確定要使用MapPath方法嗎? 該方法獲取對文件的Web引用的物理路徑。 如果CSV文件的路徑是Web引用,例如"/data/items.csv"那么您希望使用MapPath方法,但是如果您有物理路徑,例如"C:\\mydata\\items.csv"那么你不想轉換它。

此外, MapPath僅在您實際位於具有HTTP上下文的Web應用程序中時才有效。

這是一個不使用正確框架的簡單案例,我指的是全脂版本而不是默認的“輕量級”版本。

右鍵單擊Project,然后單擊Properties,確保選擇最新框架的完整版本,即'.NET Framework 4',而不是'.NET Framework 4 Client Profile'

蒂姆維說得對,但是為了完整性。 不,VS沒有內置的“Solve”功能,但是某些附加組件已部分添加了此功能。 例如,Resharper將添加選項以添加引用並在需要時使用 - 但它必須先在解決方案中引用,因此它不能解決初始查找問題。

嘗試在項目中添加對System.Web的引用。

HttpContextSystem.Web的成員。

http://msdn.microsoft.com/en-us/library/system.web.httpcontext.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM