我看了这个问题,但我没有看到太多的答案,显然没有一个有用,或者我不会问。我是一个.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?
答案 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.
答案 2 :(得分:0)
感谢指针和链接。经过一番奋斗,我得到了它的工作。最后发生的事情是我的朋友,.NET的专家Skype我,并通过正确的方式将我的项目部署到目标服务器。我不明白你的Build有一个单独的文件夹。我制作了一个“构建部署包”作为zip文件。然后我将它解压缩到我的硬盘上,并将其放入Web服务器上的一个干净的文件夹中(实际上,我将其上传到根目录),瞧,它有用。
答案 3 :(得分:0)
此问题的另一个可能原因是项目是否正在使用NuGet包,但尚未恢复(下载)。
可能需要在Visual Studio中还原它们,或者您可以使用nuget.exe命令行可执行文件来还原软件包。
答案 4 :(得分:0)
第一步是尝试重建您的项目。 如果没有帮助:在“ Nuget软件包管理器”中找到“ Newtonsoft”并卸载。如果它具有引用=>放置复选框(删除依赖项,强制卸载),然后在下拉列表中(依赖行为=>忽略依赖项,文件冲突操作=>忽略全部)
再次安装“ Newtonsoft”。