2016-08-03 55 views
1

我從Visual Studio啓動了一個新的ASP.NET Core WebApi項目。項目初始化並開始沒有問題。在ASP.NET項目中創建和使用.NET Core類庫

現在我想添加一個.NET Core類庫來包含與應用程序分離的邏輯。所以我右鍵單擊src文件夾,選擇Add -> New Project並選擇Class LOibrary (.NET Core)

在我的類庫我創建了一個新的中間件:

namespace MyClassLib 
{ 
    public class MyMiddleware 
    { 
     private readonly RequestDelegate _next; 

     public MyMiddleware(RequestDelegate next) 
     { 
      _next = next; 
     } 

     public async Task Invoke(HttpContext context) 
     { 
      await _next.Invoke(context); 
     } 
    } 
} 

而且創建擴展方法吧:

namespace MyClassLib 
{ 
    public static class MyMiddlewareExtensions 
    { 
     public static IApplicationBuilder UseMyMiddleware(this IApplicationBuilder builder) 
     { 
      return builder.UseMiddleware<MyMiddleware>(); 
     } 
    } 
} 

到目前爲止,沒有任何幻想。

在我的Web API我加入到項目的引用:

"dependencies": { 
    "Microsoft.NETCore.App": { 
     "version": "1.0.0", 
     "type": "platform" 
    }, 
    "Microsoft.ApplicationInsights.AspNetCore": "1.0.0", 
    "Microsoft.AspNetCore.Mvc": "1.0.0", 
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0", 
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0", 
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0", 
    "Microsoft.Extensions.Configuration.FileExtensions": "1.0.0", 
    "Microsoft.Extensions.Configuration.Json": "1.0.0", 
    "Microsoft.Extensions.Logging": "1.0.0", 
    "Microsoft.Extensions.Logging.Console": "1.0.0", 
    "Microsoft.Extensions.Logging.Debug": "1.0.0", 
    "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0", 
    "MyClassLib": "1.0.0-*" 
} 

但是當我嘗試使用我的新類庫在我的WebAPI startup類似乎不承認它 - 顯示using MyClassLib紅色(錯誤),並且不允許我使用其中的任何類。

我在這裏錯過了什麼?以前到.NET核心這是我用來做所有的時間...

編輯

奇怪,但如果我禁用ReSharper的不是一切正常。如果我重新啓用ReSharper比它再次顯示錯誤,但仍編譯。我在RC1上看到了在GitHub上遇到過這個問題的人的帖子 - 但有人提到它已經修復。任何人都知道我可以如何繼續使用ReSharper和.NET Core?

回答

2

問題可能是因爲NuGet庫中有一個名爲MyClassLibexisting package,它的版本號爲1.0.0,所以NuGet可能會將其拉下來並引用它。

爲了指導項目系統使用本地的項目,而不是發佈的包,嘗試做

"MyClassLib": { "target": "project" } 
+0

您好,感謝回答。請參閱原始文章中關於ReSharper的編輯 – developer82

+3

我會檢查ReSharper EAP程序。我不確定.NET Core是否得到完全支持,但他們已經在[2016.2發佈](https://blog.jetbrains.com/dotnet/2016/05/27/resharper-ultimate)中完成了大量錯誤修正-2016-2-EAP-踢斷/)。 – khellang

+0

我與ReSharper有類似的問題,目前在EAP版本上。有時甚至有時會引用參考文獻,但總體上有所改進。 – steamrolla

相關問題