C# 类型或命名空间名称';用户界面';命名空间中不存在';System.Web';(是否缺少程序集引用?)
我有一个C# 类型或命名空间名称';用户界面';命名空间中不存在';System.Web';(是否缺少程序集引用?),c#,asp.net-core,system.web,C#,Asp.net Core,System.web,我有一个asp.net核心2.2项目。我想在我的项目中使用System.Web,但是当我尝试在我的控制器中使用它时,它会这样说 <Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFramework>netcoreapp2.2</TargetFramework> <AspNetCoreHostingModel>InProcess</AspNetCore
asp.net核心2.2
项目。我想在我的项目中使用System.Web
,但是当我尝试在我的控制器中使用它时,它会这样说
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="IpGeoLocation.IpGeoLocation" Version="1.0.5" />
<PackageReference Include="Microsoft.AspNetCore.App" />
<PackageReference Include="System.Web" />
<PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" PrivateAssets="All"
/>
<PackageReference Include="MongoDB.Driver" Version="2.7.3" PrivateAssets="All" />
<PackageReference Include="MongoDB.Driver.Core" Version="2.7.3" PrivateAssets="All" />
<PackageReference Include="MongoDB.Bson" Version="2.7.3" PrivateAssets="All" />
</ItemGroup>
</Project>
命名空间“System.Web”中不存在类型或命名空间名称“UI”(是否缺少程序集引用?[D:\Projects\analytics\analytics.csproj]
我有这样的project.csproj文件
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="IpGeoLocation.IpGeoLocation" Version="1.0.5" />
<PackageReference Include="Microsoft.AspNetCore.App" />
<PackageReference Include="System.Web" />
<PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" PrivateAssets="All"
/>
<PackageReference Include="MongoDB.Driver" Version="2.7.3" PrivateAssets="All" />
<PackageReference Include="MongoDB.Driver.Core" Version="2.7.3" PrivateAssets="All" />
<PackageReference Include="MongoDB.Bson" Version="2.7.3" PrivateAssets="All" />
</ItemGroup>
</Project>
我的助手函数如下
string ipInfoBaseUrl = "http://ipinfo.io/";
string userIpAddress = "66.54.123.13";
string ipUrl = ipInfoBaseUrl + userIpAddress;
string ipResponse = IPRequestHelper(ipUrl);
return ipResponse;
public string IPRequestHelper(string url)
{
string checkURL = url;
HttpWebRequest objRequest = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse objResponse = (HttpWebResponse)objRequest.GetResponse();
StreamReader responseStream = new StreamReader(objResponse.GetResponseStream());
string responseRead = responseStream.ReadToEnd();
responseRead = responseRead.Replace("\n", String.Empty);
responseStream.Close();
responseStream.Dispose();
return responseRead;
}
我正在使用VisualStudio代码。如何消除此错误?该命名空间属于ASP.NET网页,并且不是.NET Core的一部分,因此不能在ASP.NET Core项目中使用它 您可以选择ASP.NET核心剃须刀页面或Blazor 如果您使用的是依赖于旧式.NET Framework(非核心)的第三方库,您可能希望切换回使用经典ASP.NET 对于.NET Framework中的IP地址,请使用 看起来这个包没有依赖项,但依赖于JSON.NET,所以您应该能够从ASP.NET核心使用它 更新 将该代码替换为以下代码:
public async Task<string> GetIpGeoLocationAsync(string url)
{
using (var cl = new HttpClient())
return await cl.GetStringAsync(url);
}
公共异步任务GetIpGeoLocationAsync(字符串url)
{
使用(var cl=new HttpClient())
return wait cl.GetStringAsync(url);
}
也可以考虑使用.< /P> < p>命名空间属于ASP.NET网页,而不是.NET内核的一部分,因此不能在ASP.NET核心项目中使用它。
您可以选择ASP.NET核心剃须刀页面或Blazor 如果您使用的是依赖于旧式.NET Framework(非核心)的第三方库,您可能希望切换回使用经典ASP.NET 对于.NET Framework中的IP地址,请使用 看起来这个包没有依赖项,但依赖于JSON.NET,所以您应该能够从ASP.NET核心使用它 更新 将该代码替换为以下代码:public async Task<string> GetIpGeoLocationAsync(string url)
{
using (var cl = new HttpClient())
return await cl.GetStringAsync(url);
}
公共异步任务GetIpGeoLocationAsync(字符串url)
{
使用(var cl=new HttpClient())
return wait cl.GetStringAsync(url);
}
也可以考虑使用.< /p>为什么要使用那个命名空间?你想使用什么类?我正在实现第三方插件,根据ip地址获取用户的地理位置。所以在那篇文章中,他使用的是System.Web。那么,在asp.net中,我应该使用什么来代替System.Web?使用
HttpClient
或IHttpClientFactory
代替WebRequest
。此外,我在你的代码中没有看到任何System.Web.UI
内容。你能用HttpClient
转换我的IPRequestHelper
吗,因为我不知道如何使用它。我不熟悉asp.net coreCheck说明。应可从ASP.NET核心运行。为什么要使用该命名空间?你想使用什么类?我正在实现第三方插件,根据ip地址获取用户的地理位置。所以在那篇文章中,他使用的是System.Web。那么,在asp.net中,我应该使用什么来代替System.Web?使用HttpClient
或IHttpClientFactory
代替WebRequest
。此外,我在你的代码中没有看到任何System.Web.UI
内容。你能用HttpClient
转换我的IPRequestHelper
吗,因为我不知道如何使用它。我不熟悉asp.net coreCheck说明。应该从ASP.NET核心开始工作。我正在实现第三方插件,以基于ip地址获取用户的地理位置。因此,在那篇文章中,他使用的是System.Web
。因此,在asp.net
中,我应该使用什么来代替System.Web
?我已经更新了我的问题,请查看并建议我,在添加服务后,如何在asp.net core 2.2中获取用户地理位置,即(城市、国家等)。.AddHttpClient()
在我的控制器中的startup.cs
中,我应该导入什么来使用IHttpClientFactor
?@FahadHassan,假设您在控制器中使用HttpClient
,将IHttpClientFactory
添加到控制器的构造函数参数中,并将其存储在专用字段中。使用\HttpClientFactory.CreateClient
,而不是创建一个新的HttpClient
,请参见示例。我正在实现第三方插件,以基于ip地址获取用户的地理位置。因此,在那篇文章中,他使用的是System.Web
。因此,在asp.net
中,我应该使用什么来代替System.Web
?我已经更新了我的问题,请查看并建议我,在添加服务后,如何在asp.net core 2.2中获取用户地理位置,即(城市、国家等)。.AddHttpClient()
在我的控制器中的startup.cs
中,我应该导入什么来使用IHttpClientFactor
?@FahadHassan,假设您在控制器中使用HttpClient
,将IHttpClientFactory
添加到控制器的构造函数参数中,并将其存储在专用字段中。使用\u HttpClientFactory.CreateClient
而不是创建新的HttpClient
,请参见示例。