繁体   English   中英

XML-RPC .net标准

[英]XML-RPC .net standard

我试图将http://xml-rpc.net/移植到.NET Standard类库。 这可行,我可以在运行Windows 10 IOT的rapsberry PI上使用此库来运行应用程序。 至少我可以调试它。 当我尝试运行不带VS的应用程序时,它崩溃了。

当我尝试在发布模式下进行编译时,我收到许多错误消息:

10>  Generating System.Reflection.DispatchProxy proxy code.
10>C:\Program Files (x86)\Microsoft SDKs\UWPNuGetPackages\microsoft.net.native.compiler\2.1.8\tools\Microsoft.NetNative.targets(788,5): warning : ILTransform : warning ILT0005: Type 'System.Reflection.Emit.AssemblyBuilder' from assembly 'System.Reflection.Emit' was not included in compilation, but was referenced in method 'XmlRpcProxyGen.BuildAssembly(Type, string, string, AssemblyBuilderAccess)'. There may have been a missing assembly, or a dependency on a more recent Windows SDK release.
10>C:\Program Files (x86)\Microsoft SDKs\UWPNuGetPackages\microsoft.net.native.compiler\2.1.8\tools\Microsoft.NetNative.targets(788,5): warning : ILTransform : warning ILT0005: Type 'System.Reflection.Emit.AssemblyBuilderAccess' from assembly 'System.Reflection.Emit' was not included in compilation, but was referenced in method 'XmlRpcProxyGen.BuildAssembly(Type, string, string, AssemblyBuilderAccess)'. There may have been a missing assembly, or a dependency on a more recent Windows SDK release.
10>C:\Program Files (x86)\Microsoft SDKs\UWPNuGetPackages\microsoft.net.native.compiler\2.1.8\tools\Microsoft.NetNative.targets(788,5): warning : ILTransform : warning ILT0005: Type 'System.Reflection.Emit.TypeBuilder' from assembly 'System.Reflection.Emit' was not included in compilation, but was referenced in method 'XmlRpcProxyGen.BuildMethods(TypeBuilder, IEnumerable<XmlRpcProxyGen.MethodData>)'. There may have been a missing assembly, or a dependency on a more recent Windows SDK release.
10>C:\Program Files (x86)\Microsoft SDKs\UWPNuGetPackages\microsoft.net.native.compiler\2.1.8\tools\Microsoft.NetNative.targets(788,5): warning : ILTransform : warning ILT0003: Method 'XmlRpcProxyGen.BuildAssembly(Type, string, string, AssemblyBuilderAccess)' will always throw an exception due to the missing method 'AssemblyBuilder.DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess)' in assembly 'System.Reflection.Emit'. There may have been a missing assembly, or a dependency on a more recent Windows SDK release.
10>C:\Program Files (x86)\Microsoft SDKs\UWPNuGetPackages\microsoft.net.native.compiler\2.1.8\tools\Microsoft.NetNative.targets(788,5): warning : ILTransform : warning ILT0005: Type 'System.Reflection.Emit.MethodBuilder' from assembly 'System.Reflection.Emit' was not included in compilation, but was referenced in method 'XmlRpcProxyGen.BuildMethod(TypeBuilder, string, string, IReadOnlyList<string>, Type[], bool, Type, bool)'. There may have been a missing assembly, or a dependency on a more recent Windows SDK release.
10>C:\Program Files (x86)\Microsoft SDKs\UWPNuGetPackages\microsoft.net.native.compiler\2.1.8\tools\Microsoft.NetNative.targets(788,5): warning : ILTransform : warning ILT0005: Type 'System.Reflection.Emit.CustomAttributeBuilder' from assembly 'System.Reflection.Emit.ILGeneration' was not included in compilation, but was referenced in method 'XmlRpcProxyGen.BuildMethod(TypeBuilder, string, string, IReadOnlyList<string>, Type[], bool, Type, bool)'. There may have been a missing assembly, or a dependency on a more recent Windows SDK release.
10>C:\Program Files (x86)\Microsoft SDKs\UWPNuGetPackages\microsoft.net.native.compiler\2.1.8\tools\Microsoft.NetNative.targets(788,5): warning : ILTransform : warning ILT0005: Type 'System.Reflection.Emit.ILGenerator' from assembly 'System.Reflection.Emit.ILGeneration' was not included in compilation, but was referenced in method 'XmlRpcProxyGen.BuildMethod(TypeBuilder, string, string, IReadOnlyList<string>, Type[], bool, Type, bool)'. There may have been a missing assembly, or a dependency on a more recent Windows SDK release.
10>C:\Program Files (x86)\Microsoft SDKs\UWPNuGetPackages\microsoft.net.native.compiler\2.1.8\tools\Microsoft.NetNative.targets(788,5): warning : ILTransform : warning ILT0005: Type 'System.Reflection.Emit.LocalBuilder' from assembly 'System.Reflection.Emit.ILGeneration' was not included in compilation, but was referenced in method 'XmlRpcProxyGen.BuildMethod(TypeBuilder, string, string, IReadOnlyList<string>, Type[], bool, Type, bool)'. There may have been a missing assembly, or a dependency on a more recent Windows SDK release.
10>C:\Program Files (x86)\Microsoft SDKs\UWPNuGetPackages\microsoft.net.native.compiler\2.1.8\tools\Microsoft.NetNative.targets(788,5): warning : ILTransform : warning ILT0005: Type 'System.Reflection.Emit.ParameterBuilder' from assembly 'System.Reflection.Emit.ILGeneration' was not included in compilation, but was referenced in method 'XmlRpcProxyGen.BuildMethod(TypeBuilder, string, string, IReadOnlyList<string>, Type[], bool, Type, bool)'. There may have been a missing assembly, or a dependency on a more recent Windows SDK release.
10>C:\Program Files (x86)\Microsoft SDKs\UWPNuGetPackages\microsoft.net.native.compiler\2.1.8\tools\Microsoft.NetNative.targets(788,5): warning : ILTransform : warning ILT0005: Type 'System.Reflection.Emit.Label' from assembly 'System.Reflection.Emit.ILGeneration' was not included in compilation, but was referenced in method 'XmlRpcProxyGen.BuildMethod(TypeBuilder, string, string, IReadOnlyList<string>, Type[], bool, Type, bool)'. There may have been a missing assembly, or a dependency on a more recent Windows SDK release.
10>C:\Program Files (x86)\Microsoft SDKs\UWPNuGetPackages\microsoft.net.native.compiler\2.1.8\tools\Microsoft.NetNative.targets(788,5): warning : ILTransform : warning ILT0003: Method 'XmlRpcProxyGen.BuildMethod(TypeBuilder, string, string, IReadOnlyList<string>, Type[], bool, Type, bool)' will always throw an exception due to the missing method 'TypeBuilder.DefineMethod(string, MethodAttributes, Type, Type[])' in assembly 'System.Reflection.Emit'. There may have been a missing assembly, or a dependency on a more recent Windows SDK release.
10>C:\Program Files (x86)\Microsoft SDKs\UWPNuGetPackages\microsoft.net.native.compiler\2.1.8\tools\Microsoft.NetNative.targets(788,5): warning : ILTransform : warning ILT0003: Method 'XmlRpcProxyGen.BuildBeginMethods(TypeBuilder, IEnumerable<XmlRpcProxyGen.MethodData>)' will always throw an exception due to the missing method 'TypeBuilder.DefineMethod(string, MethodAttributes, Type, Type[])' in assembly 'System.Reflection.Emit'. There may have been a missing assembly, or a dependency on a more recent Windows SDK release.
10>C:\Program Files (x86)\Microsoft SDKs\UWPNuGetPackages\microsoft.net.native.compiler\2.1.8\tools\Microsoft.NetNative.targets(788,5): warning : ILTransform : warning ILT0003: Method 'XmlRpcProxyGen.BuildEndMethods(TypeBuilder, IEnumerable<XmlRpcProxyGen.MethodData>)' will always throw an exception due to the missing method 'TypeBuilder.DefineMethod(string, MethodAttributes, Type, Type[])' in assembly 'System.Reflection.Emit'. There may have been a missing assembly, or a dependency on a more recent Windows SDK release.
10>C:\Program Files (x86)\Microsoft SDKs\UWPNuGetPackages\microsoft.net.native.compiler\2.1.8\tools\Microsoft.NetNative.targets(788,5): warning : ILTransform : warning ILT0005: Type 'System.Reflection.Emit.ConstructorBuilder' from assembly 'System.Reflection.Emit' was not included in compilation, but was referenced in method 'XmlRpcProxyGen.BuildConstructor(TypeBuilder, Type, string)'. There may have been a missing assembly, or a dependency on a more recent Windows SDK release.
10>C:\Program Files (x86)\Microsoft SDKs\UWPNuGetPackages\microsoft.net.native.compiler\2.1.8\tools\Microsoft.NetNative.targets(788,5): warning : ILTransform : warning ILT0003: Method 'XmlRpcProxyGen.BuildConstructor(TypeBuilder, Type, string)' will always throw an exception due to the missing method 'TypeBuilder.DefineConstructor(MethodAttributes, CallingConventions, Type[])' in assembly 'System.Reflection.Emit'. There may have been a missing assembly, or a dependency on a more recent Windows SDK release.

将源文件直接移动到我的IOT应用程序并添加System.Reflection.Emit nuget包会带来相同的结果。

我想念什么吗?

或者,如果System.Reflection.Emit有问题-是否有人知道一个不像xml-rpc.net那样动态的XML-RPC库-但至少支持多调用和事件?

  1. 您发布的警告消息表明您的构建目标环境与您选择的类(XmlRpcProxyGen和Reflection)不兼容。 Windows IoT是常规Windows的缩减操作系统,不包含其他Windows版本的所有功能。 有关可用于识别缺少的api的工具,请参见IotCorePortingTool
  2. 关于另一个XML-RPC库, w3pi Web服务器提供了ATLServer,但是它需要c ++编程知识,并且与.NET相比非常复杂。

    基本上,您将创建一个静态链接到MSXML 6.0的相当大的Web应用程序(因为这是在Windows IoT核心版上运行的唯一msxml库)。 多调用功能可以使用ATLServer soap动态数组手动实现,而事件功能理论上可以通过ATLServer TransmitFile方法使用HTTP / 2 Push框架构建,如w3pi的ATLServer信息页所述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM