找不到类型或命名空间名称'Newtonsoft'

时间:2012-07-28 01:26:11

标签: .net json.net

我看了这个问题,但我没有看到太多的答案,显然没有一个有用,或者我不会问。我是一个.NET新手。

我的本​​地环境是Win7,Microsoft Virtual Web Developer 2010 Express。我将NewtonSoft.Json添加为自定义组件库。

  • 我使用Newtonsoft.Json自定义组件构建了一个简单的“HelloWorld”Web服务。

  • 当我在本地计算机(Visual Web Developer 2010 Express)上进行构建时,它运行良好。我实际上得到了一个有效的JSONP输出,而不是XML。

  • 当我将文件FTP到远程Web服务器时,我的Web服务无效。我明白了:

  

编译错误说明:期间发生错误   编译服务此请求所需的资源。请   查看以下特定错误详细信息并修改您的来源   代码恰当。

     

编译器错误消息:CS0246:类型或命名空间名称   找不到“牛顿软件”(你是否错过了使用指令或   装配参考?)

     

来源错误:

     

第7行:使用System.Web.Services.Protocols;

     

第8行:使用System.Web.Script.Services;

     

第9行:使用Newtonsoft.Json;

     

第10行:

     

第11行:命名空间System.Web.Script.Services.CS

我已尝试过将整个项目文件夹复制到远程文件夹,然后删除所有内容,只是复制我的asmx和web.config文件,我仍然收到错误。我将bin文件夹与Newtonsoft.Json.dll复制到远程服务器,然后尝试将其复制到根文件夹中,但无济于事。

是否必须在远程服务器上执行某些操作才能使其使用Newtonsoft.Json.dll?

5 个答案:

答案 0 :(得分:3)

复制解决方案的文件时,某些引用可能会“丢失”。 在复制文件并在另一台机器中打开后,尝试删除引用并再次添加它。

另外,请看一下这个问题:reference dll not copying to bin with deployment project causing error

答案 1 :(得分:1)

解决此问题的最佳方法是“清洁解决方案”

在 Visual Studio 的解决方案资源管理器中,右键单击解决方案并选择“清理解决方案”

Clean Solution - deletes all compiled files (all dll’s and exe’s ).
Build Solution - compiles code files (dll and exe) that have changed.
Rebuild Solution - Deletes all compiled files and Compiles them again regardless of whether or not the code has changed.

参考:https://bitwizards.com/thought-leadership/blog/2014/august-2014/visual-studio-why-clean-build-rebuild

答案 2 :(得分:0)

感谢指针和链接。经过一番奋斗,我得到了它的工作。最后发生的事情是我的朋友,.NET的专家Skype我,并通过正确的方式将我的项目部署到目标服务器。我不明白你的Build有一个单独的文件夹。我制作了一个“构建部署包”作为zip文件。然后我将它解压缩到我的硬盘上,并将其放入Web服务器上的一个干净的文件夹中(实际上,我将其上传到根目录),瞧,它有用。

答案 3 :(得分:0)

此问题的另一个可能原因是项目是否正在使用NuGet包,但尚未恢复(下载)。

可能需要在Visual Studio中还原它们,或者您可以使用nuget.exe命令行可执行文件来还原软件包。

https://docs.nuget.org/consume/package-restore

答案 4 :(得分:0)

第一步是尝试重建您的项目。 如果没有帮助:在“ Nuget软件包管理器”中找到“ Newtonsoft”并卸载。如果它具有引用=>放置复选框(删除依赖项,强制卸载),然后在下拉列表中(依赖行为=>忽略依赖项,文件冲突操作=>忽略全部)

再次安装“ Newtonsoft”。