11

我已经查看了这个问题,但我没有看到太多答案,显然没有一个有帮助,或者我不会问。我是 .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:找不到类型或命名空间名称“Newtonsoft”(您是否缺少 using 指令或程序集引用?)

源错误:

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

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

第 9 行:使用 Newtonsoft.Json;

第 10 行:

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

我已经尝试了一切,从将整个项目文件夹复制到远程文件夹,然后删除所有内容并仅复制我的 asmx 和 web.config 文件,但我仍然收到错误消息。我将带有 Newtonsoft.Json.dll 的 bin 文件夹复制到远程服务器,然后尝试将其复制到根文件夹中,但无济于事。

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

4

5 回答 5

3

当您复制解决方案的文件时,一些引用可能会“丢失”。复制文件并在另一台机器上打开后,尝试删除引用并重新添加。

另外,看看这个问题:reference dll not copying to bin with deployment project cause error

于 2012-07-28T01:27:48.640 回答
2

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

在 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

于 2021-02-17T09:29:23.027 回答
1

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

再次安装“Newtonsoft”。

于 2020-10-06T19:45:37.550 回答
0

感谢您的指针和链接。经过一番斗争,我得到了它的工作。最终发生的是我的朋友,一位 .NET 专家,通过 Skype 与我交谈,并告诉我将项目部署到目标服务器的正确方法。我不明白你的 Build 有一个单独的文件夹。我制作了一个“构建部署包”作为 zip 文件。然后我把它解压到我的硬盘上,然后把它放到网络服务器上的一个干净的文件夹中(实际上,我把它上传到了根目录),瞧,它工作了。

于 2012-07-29T00:47:10.443 回答
0

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

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

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

于 2016-04-14T21:21:36.857 回答