2017-11-11 109 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項目使用。