asp.net 核心 xproj 文件具有 Ubuntu 上不存在的导入



我创建了一个带有Visual Studio和.NET Core工具的ASP.NET Core应用程序。它在Windows上运行良好,但是当我将其复制到Ubuntu进行部署然后运行时,我会得到:

....xproj(7,3): error MSB4019: The imported project "/usr/share/dotnet/sdk/1.0.0-preview4-004233/Microsoft/VisualStudio/v14.0/DotNet/Microsoft.DotNet.Props" was not found.

这是有道理的,因为Visual Studio未在Ubuntu上安装。为什么在那里?我尝试从Xproj中删除导入,这会导致其他问题:

error MSB4057: The target "Build" does not exist in the project.

这是xproj

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">14.0</VisualStudioVersion>
    <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)MicrosoftVisualStudiov$(VisualStudioVersion)</VSToolsPath>
  </PropertyGroup>
  <Import Project="$(VSToolsPath)DotNetMicrosoft.DotNet.Props" Condition="'$(VSToolsPath)' != ''" />
  <PropertyGroup Label="Globals">
    <ProjectGuid>ca453b3a-1bb5-4ed8-bbe5-fe1e627a9f76</ProjectGuid>
    <RootNamespace>abc</RootNamespace>
    <BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)'=='' ">.obj</BaseIntermediateOutputPath>
    <OutputPath Condition="'$(OutputPath)'=='' ">.bin</OutputPath>
    <TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
  </PropertyGroup>
  <PropertyGroup>
    <SchemaVersion>2.0</SchemaVersion>
  </PropertyGroup>
  <Import Project="$(VSToolsPath)DotNet.WebMicrosoft.DotNet.Web.targets" Condition="'$(VSToolsPath)' != ''" />
</Project>

我是ASP.NET Core的新手,目前在版本,工具和预览的海洋中丢失...我认为VS工具的目标是1.0.0,但是当我在Linux上安装Dotnet Core时,我得到了1.1。0,所以我还安装了1.0.0并使用

dotnet run --framework 1.0.0

我应该做什么来在VS(2015)中创建Web项目并将其部署到Linux?

update 我从进一步的谷歌搜索中找到了我应该安装的" .net core tooling for Visual Studio 2015",但是我不能这样做,因为我在Linux上,所以我该怎么办?

不可能开发VS中的Web应用程序并部署到Linux?

更新2 好的,尽管我正在阅读所有内容,但您在说您运行了一个使用Dotnet Run运行的Web应用程序,但我在这里发现我应该使用dotnet mydll.dll(而且在Windows上有效,至少我还没有在Linux上尝试过)

那是什么原因?核心版本?

dotnet运行比必须知道正确的dll名称要好得多,所以我猜dotnet run适用于v1.1?我是否以某种方式为v1.0构建了我的项目?

我因所有版本操作和预览等而迷失了方向,我感谢您的解释。我以为我正在下载最新的内容,我认为VS工具包是不可知论的?

我对Linux计算机上的.xproj文件有些困惑。如果您在本地发布Web应用程序,则在已发布的文件之间看不到一个.xproj文件。因为.xproj只是文件视觉工作室的需求。dotnet core只需要一个project.json文件和一个void static main到功能。

1)尝试此链接中的指南https://learn.microsoft.com/en-us/aspnet/core/publishing/linuxproduction

2)或遵循Scott Hanselman帖子的指南:http://www.hanselman.com/blog/publishinganapnaspnetcorewebsiteToActoAcheaeaClinuxvMhost.aspx

我发现正确的方法(对于SDK 1.0.0)是

  1. 从vs
  2. 发布
  3. 将发布输出文件夹的内容复制到Linux
  4. 使用dotnet myapp.dll运行(而不是Dotnet运行)。

相关内容

  • 没有找到相关文章

最新更新