2016-07-25 122 views
4

我正在使用Visual Studio 2015 Update 3和.NET Core 1.0。我有一個類型爲.NETCoreApp v1.0的Web API項目。當我添加一個.NET Core類庫時,它的類型是.NETStandard v1.6。我可以將此庫添加到Web API項目中作爲參考,但在嘗試添加使用語句時無法識別它。如何創建.NET核心庫我可以從.NET核心應用程序(Web API)中引用

如果我創建另一個類型爲.NETCoreApp的項目,我可以引用它並使用這些類沒有問題。

如何從我的.NET Core應用程序中使用.NET Core類庫?

編輯/更新:

  1. 這只是似乎是一個編輯/智能感知的問題,因爲儘管該編輯器警告,該.NETCoreApp並構建和運行,調用到類庫。
  2. 我正在運行Resharper,我看到其他類型的項目遇到類似的問題:我檢查了我有最新版本,並清除了Resharper緩存並重新啓動了VS2105。

回答

4

這是一個resharper問題。此時Resharper(v2016.1.2)不支持.NET Core 1.0。

有2個可能的解決方案:

  1. 卸載ReSharper的,和Visual Studio的本地智能感知作品。
  2. 安裝Resharper 2016.2 EAP(Early Access Program)版本。我已經完成了這個工作。顯然它帶有任何EAP/beta產品的警告。

下面是一個指向Jetbrains forum post的鏈接,我被告知.NET Core 1尚未支持並指向EAP版本。

1

一旦你已經建立了針對netstandard1.X庫,您可以:

  • 產生一個NuGet包與dotnet pack,並將其駐留在本地或的NuGet。然後,將其作爲任何其他依賴項安裝在您的netcoreapp項目中。
  • 如果庫和應用程序是同一解決方案的一部分,使本地參考:

project.json

"dependencies":{ 
    "MyLibrary.Core": { 
     "version": "1.0.0", 
     "target": "project" 
    } 
} 

target: project告訴dotnet在依賴目前的解決方案看,而不是使用您的NuGet Feed。再說一遍,如果您正在使用相同的解決方案開發庫和應用程序,這隻會起作用。

+0

感謝您的有用答案,但它沒有解決我的問題,這是下一步 - 一旦我有我的.NET核心應用程序(這是工作),並添加到.NETStandard庫的依賴項,Visual Studio不會識別庫 - 我的意思是:任何試圖引用庫中的類的嘗試都會通過消息'Can not resolve symbol'LibraryName''突出顯示爲錯誤。我會更新我的問題以消除任何含糊之處。 – Peter

+0

@Ettery我認爲問題在於參考不正確。有道理,你從Resharper得到了一個誤報(我也遇到過)。 –

相關問題