如何使用VS 2019构建Net Core 3.0应用程序

时间:2019-06-06 11:22:07

标签: .net-core

我想使用net core 3编译一个.net项目,希望它可以在最新的Ubuntu上运行。

我已经下载了VS2019和net core 3 SDK,并在工具/选项/环境/预览功能中启用了预览。

我创建了一个新项目(默认为net core 3.0),添加了一些源文件,并试图进行构建。

我遇到了这些错误:

    1>------ Build started: Project: BaseCampApi, Configuration: Debug Any CPU ------
    1>C:\Program Files\dotnet\sdk\3.0.100-preview5-011568\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(157,5): message NETSDK1057: You are using a preview version of .NET Core. See: https://aka.ms/dotnet-core-preview
    1>c:\dev\BaseCampApi\BaseCampApi\BasecampApi.cs(18,17,18,27): error CS0234: The type or namespace name 'AspNetCore' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)
    1>c:\dev\BaseCampApi\BaseCampApi\BasecampApi.cs(303,17,303,49): error CS0246: The type or namespace name 'FileExtensionContentTypeProvider' could not be found (are you missing a using directive or an assembly reference?)
    1>Done building project "BaseCampApi.csproj" -- FAILED.
    ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

我该怎么做才能使其编译?

1 个答案:

答案 0 :(得分:2)

您还原了所有依赖性吗?

如果您使用的是终端机,或者只是通过VS的Nuget Restore,请尝试运行dotnet restore,然后运行dotnet build

如果没有帮助,则必须从.csproj文件中删除一些工件,然后恢复依赖关系。寻找类似的东西:

<ItemGroup>
  <Reference Include="Microsoft.AspNetCore.Mvc.Core">
    <HintPath>C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.aspnetcore.mvc.core\2.0.0\lib\netstandard2.0\Microsoft.AspNetCore.Mvc.Core.dll</HintPath>
  </Reference>
</ItemGroup>

删除它,并通过使用Nuget还原来重新引用它。

此外,请确保您确实在ASP.NET项目中,而不是控制台项目。您的项目称为“ * Api ”,在一般情况下,这实际上意味着它是一个ASP.NET项目,但您永远不会知道。


评论后编辑:

因此,事实证明您毕竟拥有控制台应用程序,并且您引用的是来自ASP.NET的数据包。要么创建一个新的ASP.NET Web App并在其中移动代码,要么包含框架数据包(如果需要那么多数据包,并且考虑到当前的任务,它们实际上是否兼容)。不过,最有可能应该为控制台应用程序选择其他选项,所以您应该使用它们。)