【问题标题】:How can I use Dotnet Core 1.1 CLI tooling without a project.json?如何在没有 project.json 的情况下使用 Dotnet Core 1.1 CLI 工具?
【发布时间】:2017-01-20 19:38:04
【问题描述】:

我在 Visual Studio 2017 RC 中构建了一个针对 Dotnet Core 1.1 的 Web 应用。根据here 和其他地方,MS 已宣布project.json 将被淘汰并受MSBUILD .csproj 文件的青睐。问题是dotnet CLI 似乎不适用于.csproj,例如使用dotnet ef ... 总是会产生错误,即找不到它的二进制文件(即使Add-Migration 等PowerShell 命令在VS 中工作) -这是因为缺少 project.json,有没有办法解决这个问题?

【问题讨论】:

    标签: .net visual-studio msbuild .net-core


    【解决方案1】:

    尝试添加

    Microsoft.EntityFrameworkCore.Tools.DotNet 1.0.0-msbuild2-final
    关键是 msbuild 部分,它对我有用。供您参考,我的整个 .csproj 如下。
    <Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
      <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" />
    
      <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFramework>netcoreapp1.1</TargetFramework>
        <PreserveCompilationContext>true</PreserveCompilationContext>
      </PropertyGroup>
    
      <ItemGroup>
        <Compile Include="**\*.cs" Exclude="$(GlobalExclude)" />
        <EmbeddedResource Include="**\*.resx" Exclude="$(GlobalExclude)" />
      </ItemGroup>
    
      <ItemGroup>
        <PackageReference Include="Microsoft.NETCore.App">
          <Version>1.0.1</Version>
        </PackageReference>
        <PackageReference Include="Microsoft.NET.Sdk.Web">
          <Version>1.0.0-alpha-20161104-2-112</Version>
        </PackageReference>
        <PackageReference Include="Microsoft.AspNetCore.Mvc">
        <Version>1.1.0</Version>
        </PackageReference>
        <PackageReference Include="Microsoft.AspNetCore.Diagnostics">
          <Version>1.0.0</Version>
        </PackageReference>
        <PackageReference Include="Microsoft.AspNetCore.Server.IISIntegration">
          <Version>1.0.0</Version>
        </PackageReference>
        <PackageReference Include="Microsoft.AspNetCore.Server.Kestrel">
          <Version>1.0.1</Version>
        </PackageReference>
        <PackageReference Include="Microsoft.Extensions.Logging.Console">
          <Version>1.0.0</Version>
        </PackageReference>
        <PackageReference Include="Pomelo.EntityFrameworkCore.MySql">
          <Version>1.1.1-prerelease-10012</Version>
        </PackageReference>
        <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="1.0.0-msbuild2-final" />
      </ItemGroup>
    
      <ItemGroup>
        <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet">
          <Version>1.0.0-msbuild2-final</Version>
        </DotNetCliToolReference>
      </ItemGroup>
    
      <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
    
    </Project>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-12
      • 2018-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-03
      • 2017-03-14
      相关资源
      最近更新 更多