2017-11-11 66 views
0

我对.netcore和一些新东西都是新的。 我有这种特征的DLL:是否有可能避免在System.dll中的便携式库从.net到uwp这种异常?

**[assembly: Extension] 
[assembly: CompilationRelaxations(8)] 
[assembly: RuntimeCompatibility(WrapNonExceptionThrows=true)] 
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] 
[assembly: AssemblyCompany("XXX")] 
[assembly: AssemblyProduct("XXX")] 
[assembly: AssemblyConfiguration("Release")] 
[assembly: AssemblyCopyright("Copyright \xxx 2017 XXX")] 
[assembly: AssemblyTrademark("")] 
[assembly: NeutralResourcesLanguage("en-US")] 
[assembly: AssemblyTitle("XXXXXX.Services.XXXX.Desktop")] 
[assembly: AssemblyDescription("")] 
[assembly: TargetFramework(".NETFramework,Version=v4.6.1", FrameworkDisplayName=".NET Framework 4.6.1")]** 

我想发表一些这个库的功能,在.netcore便携库。

我的便携式库编译完美地添加该库。只要我从UWP应用程序执行它,我会收到一个异常(如下)。 这个DLL在库System.xml中有一些依赖关系,出现在下面的例外中。

无法加载文件或程序集'System,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = xxxxx'。定位的程序集清单定义与程序集引用不匹配。 (从HRESULT异常:0x80131040)”

难道我做错了什么有什么办法可以解决这个问题,我没有进入主DLL的代码

我的便携类就是这么简单:??

using XXXXX.Services.XXXX.Desktop; 
namespace RobAPIDesktop 
{ 
    public static class RobAPiPortable 
    { 
     public static void Initialize() 
     { 
      try 
      { 

       DesktopInit.Initialize(); 

      } 
      catch (Exception ex) 
      { 

      } 
     } 
    } 
} 
+2

您是否使用.net标准2.0库?这会更好,一个pcl –

+0

看过后,我认为你是对的。无论如何,我得到像System.AggregateException System.Private.CoreLib.dll其他的错误,但另一件事... – ronconsoda

回答

0

PCLS都死了,你应该使用.NET标准库

看看矩阵此页面上 - 。https://docs.microsoft.com/en-us/dotnet/standard/net-standard

如果您创建netstandard 2.0库,则可以访问更大的一组API,但可以使用该库的UWP平台的最小版本为10.0.16299。

您需要找到您需要的API之间的最佳位置,选择具有这些API的最低netstandard版本,这将使您的图书馆可供更多的读者访问。因此,如果netstandard 1.4拥有所有您需要的API,那么它可以被任何UWP项目使用。