代码之家  ›  专栏  ›  技术社区  ›  ManniAT

XML-RPC。净标准

  •  0
  • ManniAT  · 技术社区  · 6 年前

    我试着移动 http://xml-rpc.net/ 到NET标准类库。 这是可行的,我可以在运行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.
    

    将源文件直接移动到我的物联网应用程序并添加系统。反射Emit nuget包也会带来同样的结果。

    我错过什么了吗?

    或者如果是系统。反射Emit有一个问题——有人知道XML-RPC库没有XML-RPC那么动态吗。net-但至少支持多呼叫和事件?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Whyan    6 年前
    1. 您发布的警告消息表明您的生成目标环境与您选择的类不兼容 (氧气和反射)。Windows IoT是一个从常规Windows缩小的操作系统,不包含其他系统的所有功能 Windows版本。看见 IotCorePortingTool 用于识别缺失api的工具
    2. 关于另一个XML-RPC库,可以使用ATLServer w3pi 然而,Web服务器需要C++编程知识,并且与之相比非常复杂。网

      基本上,您将创建一个相当大的静态链接到MSXML 6.0的web应用程序(因为这是唯一一个 在Windows IoT核心上运行)。多通话功能可以通过以下方式手动实现: ATLServer soap dynamic arrays ,而事件功能理论上可以通过ATLServer TransmitFile方法使用HTTP/2推送帧构建,如所述 on w3pi's ATLServer information page