簡體   English   中英

是否可以在C#Interactive中使用來自Web項目的代碼?

[英]Is it possible to use code from a Web project in C# Interactive?

我想在Visual Studio 2017上使用C#Interactive在我創建的使用ASP.NET Core的.NET Framework 4.6.1項目中的類上運行一些方法。 在傳統的類庫項目中,我可以右鍵單擊項目並選擇Initialize Interactive with Project以在C#Interactive窗口中使用項目中的類。

右鍵單擊我的ASP.NET Core項目,我沒有這個選項。 有沒有辦法在C#Interactive中使用這個項目中的類?

如果重要,我想在C#Interactive中使用的類不直接與ASP.NET Core交互; 它們只是帶有方法的數據容器。 可能有可能將它們移動到解決方案中的單獨的類庫項目,但我想知道是否可以將它們保留在ASP.NET Core項目中。

我的.csproj

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>net461</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <Folder Include="wwwroot\" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="EntityFramework" Version="6.1.3" />
    <PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.0.0" />
    <PackageReference Include="Microsoft.AspNet.Mvc" Version="5.2.3" />
    <PackageReference Include="Microsoft.AspNet.Razor" Version="3.2.3" />
    <PackageReference Include="Microsoft.AspNetCore" Version="1.1.2" />
    <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.0.0" />
    <PackageReference Include="RazorEngine" Version="3.10.0" />
  </ItemGroup>

</Project>

只需打開C#交互式窗口並輸入

#r "full path to dll\exe with your asp.net core project"

然后你可以照常使用你的課程。

請注意,如果您的項目以.NET Core為目標 - 它可能無法按預期工作(或根本不可能),因為據我所知 - C#interactive目前在完整的.NET Framework下運行。 但是,在您的情況下,您的項目也在完整的.NET( <TargetFramework>net461</TargetFramework> )下,所以你應該沒問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM