2016-05-03 59 views
5

我在VS 2015中創建了ASP.NET Core Web應用程序。添加單元測試複選框可用於ASP.NET 4.x模板,但是當我選擇ASP時。 NET 5模板變灰了。無論如何,我嘗試創建項目,並計劃添加我自己的單元測試。將單元測試附加到ASP.NET Core項目

我在解決方案中添加了另一個項目,但無法鏈接這兩個項目。當我用鼠標右鍵單擊該單元測試項目的引用和命中添加引用,我可以看到原來的項目 as an option.

但是,當我選中該複選框,點擊OK,我得到一個dialog box,上面寫着「一參到'PangolinWeb'無法添加。程序集必須具有'dll'或'exe'擴展才能被引用。「

爲什麼我無法添加ASP.NET Core項目作爲參考?這是使我的UnitTest項目可用的所有類和方法的唯一方法嗎?

+0

看看[這個答案](http://stackoverflow.com/a/31751864/4270650)。 –

+0

我正在與ASP.NET Core一起工作1年。在我目前的項目中,我的團隊使用xUnit,我認爲這是ASP.NET Core的更好選擇。有關它的更多細節,請查看https://xunit.github.io/ –

回答

3

您不能將ASP.NET 5(ASP.NET Core)項目添加爲.NET Framework .csproj項目(我認爲您的單元測試項目是)的引用。這是目前Visual Studio工具中的一個功能缺陷,但將會被修復(恕我直言,作爲即將到來的RC2的一部分)。爲什麼?因爲它沒有實現;)。

我也想強調朱利亞諾的答案是正確的。 .NET和ASP.NET團隊選擇xUnit作爲框架。

解決方案思路:將類作爲鏈接文件包含到您的csproj中。像那樣你可以編譯兩次並測試一次。不是最好的解決方案,而是一段時間的解決方案,直到工具將迎頭趕上。

+0

有沒有人對時間表進行更新,以便修正這個問題? –

+2

該項目被推遲,因爲他們決定取消project.json。他們切換到.NET Core 1.2的csproj和mscorlib shim支持。 ETA Summer 2017 – Thomas

13

該項目仍編譯到你可以引用一個dll,這樣反而引用的項目,基準的DLL中的核心項目

  1. 的bin文件夾使用添加添加到該文件的引用參考,瀏覽對話框

  2. 編輯csproj以便爲配置使用變量,以便正確構建發佈模式。例如

`

<Reference Include="YourLibrary, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> 
    <SpecificVersion>False</SpecificVersion> 
    <HintPath>..\YourLibrary\bin\$(Configuration)\net45\YourLibrary.dll</HintPath> 
    </Reference> 
  • 使用項目生成順序溶液使參考項目建立dotnetcore庫項目後。
  • +0

    哇......太簡單了。好電話:) – Steve

    +0

    我喜歡這個答案。 –

    相關問題