0

我要解决的根本问题是为什么我尝试使用的任何 WSDL 解析器(Perl、Python 或 Node.js)都不能为我尝试与之通信的这个 SOAP 服务生成存根。该服务(用 .NET 编写)表示使用 svcutil.exe 生成将成为代理客户端的 C# 代码。只有一个问题。

我根本不懂C#。一点儿都没有。

所以,我创建了一个 Windows 虚拟机(ievms 来救援!),安装 .NET4.0 框架,并生成一个 proxy.cs(6000 行!!)和一个 proxy.config 文件(XML 来救援??) . 我将这些文件复制到我的 Ubuntu 主机,安装 mono-complete,然后尝试“gcms proxy.cs”。立即,我得到以下信息(大约 100 次,不同的行号):

proxy.cs(4602,9): error CS0234: The type or namespace name `ServiceModel' does not exist in the namespace `System'. Are you missing an assembly reference?

我完全不知道我在做什么。我要做的就是准确地追踪在各种情况下发送和接收的 XML,以便我可以用普通语言复制它。欢迎任何和所有建议。如果可能的话,我宁愿留在 Linux 上,这样我就不会与 SOAP 服务我的操作系统抗争。

4

1 回答 1

1

您使用错误的命令行参数来编译生成的文件,难怪它会失败。

http://linux.die.net/man/1/mcs

-r必须用于告诉编译器哪些程序集必须用作引用。

由于您没有 C# 编程经验,您可能会发现很难正确使用命令行。我建议你先在 Windows 和 Visual Studio 上了解它,然后再转向 Mono 和 MonoDevelop。通过创建 C# 项目 (.csproj) 可以更轻松地编译某些内容,因为 MSBuild 和 xbuild 将负责调用编译器。

你不能跳得太远。

于 2013-10-28T02:36:18.363 回答