我正在使用Visual Studio 2017创建一个asp.net核心应用程序。我正在尝试使用Web实用程序对URL组件进行编码。
var value = System.Net.WebUtility.UrlEncode("some text here");
当我在我的代码中包含它时,我看到以下错误。我发现这个问题我感到很茫然。我没有看到project.json文件。我搜索了包含System.Runtime.Extensions的任何地方。
我安装了以下软件包:AspNetCore,AspNetCore.Mvc,AspNetCore.StaticFiles,.netCore.App,PaulMiami.AspNetCore.Mvc.Recaptcha
我试图删除验证码包而不解决问题。
错误CS0433“WebUtility”类型同时存在于'System.Runtime.Extensions,Version = 4.1.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'和'System,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'
我见过的关于这个问题的其他帖子要求一个project.json文件,我似乎没有。有什么想法吗?
更新1: 我试图创建一个新的asp.net核心Web应用程序 - 所有默认开箱即用,然后我安装了PaulMiami.AspNetCore.Mvc.Recaptcha包,对WebUtility的调用在新创建的应用程序中正常工作。必须有一些我在现有应用程序中找不到导致此问题的内容。
答案 0 :(得分:2)
我发现了问题。
在“Dependencies”下,我注意到了Assemblies的一个条目,其中是“System”的条目。我不确定它是如何到达那里的,但在删除之后我的问题就消失了,应用程序就会编译。
将来,我一定会查看这个位置。值得注意的是,我创建的新开箱即用的asp.net核心Web应用程序在Dependencies列表中没有Assemblies条目。我必须添加一个包然后将其删除,这导致了这个问题。 (错误的可能是asp.net pre-.net核心验证码框架?)