Creé una aplicación central ASP.NET con Visual Studio y las herramientas centrales .NET. Funciona bien en Windows, pero cuando lo copio en Ubuntu para implementarlo y luego lo ejecuto, obtengo:

....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.

Lo que tiene sentido, porque Visual Studio no está instalado en Ubuntu. ¿Por qué está ahí? Intenté eliminar la importación de xproj y eso causa otros problemas:

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

Aquí está el 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)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
  </PropertyGroup>
  <Import Project="$(VSToolsPath)\DotNet\Microsoft.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.Web\Microsoft.DotNet.Web.targets" Condition="'$(VSToolsPath)' != ''" />
</Project>

Soy nuevo en ASP.NET core, y actualmente estoy perdido en un mar de versiones, herramientas, vistas previas ... Creo que las herramientas VS apuntan a 1.0.0, pero cuando instalé dotnet core en Linux obtuve 1.1.0, así que También instalé 1.0.0 y uso

dotnet run --framework 1.0.0

¿Qué se supone que debo hacer para crear un proyecto web en VS (2015) e implementarlo en Linux?

ACTUALIZACIÓN de otras búsquedas en Google que encontré (https://github.com/ aspnet / EntityFramework / issues / 5420) que debería instalar ".NET Core Tooling Preview 1 para Visual Studio 2015", pero no puedo hacerlo porque estoy en Linux, entonces, ¿qué debo hacer?

¿No es posible desarrollar una aplicación web en VS e implementarla en Linux?

ACTUALIZACIÓN 2 Bien, a pesar de todo lo que estoy leyendo diciendo que ejecutas una aplicación web con dotnet run, encontré aquí que debería usar dotnet myDLL.dll (y eso funciona, en Windows al menos no lo he probado todavía en Linux)

Entonces, cual es la razon? Versiones principales?

Dotnet run es mucho mejor que tener que saber el nombre correcto de la DLL, así que supongo que dotnet run es para v1.1. ¿De alguna manera he construido mi proyecto para v1.0?

Estoy perdido con todas las versiones y vistas previas, etc., agradecería una explicación. Pensé que estaba descargando las últimas novedades y pensé que el kit de herramientas de VS era independiente de la versión.

1
Jim W says reinstate Monica 14 dic. 2016 a las 02:27

2 respuestas

La mejor respuesta

Descubrí que la forma correcta de hacerlo (para SDK 1.0.0) es

  1. Publicar desde VS
  2. Copie el contenido de la carpeta de salida de publicación a Linux
  3. Ejecútelo con dotnet myapp.dll (en lugar de dotnet run).
1
Jim W says reinstate Monica 15 dic. 2016 a las 20:50

Estoy un poco confundido acerca del archivo .xproj en su máquina Linux. Si publica su aplicación web localmente, no debería ver un archivo .xproj entre los archivos publicados. Porque .xproj es solo un archivo que Visual Studio necesita. Dotnet core solo necesita un archivo project.json y un main estático vacío para funcionar.

1) Pruebe la guía en este enlace https://docs.microsoft. com / en-us / aspnet / core / publishing / linuxproduction

2) O siga las pautas de la publicación de Scott Hanselman: http://www.hanselman.com/blog /PublishingAnASPNETCoreWebsiteToACheapLinuxVMHost.aspx

1
Danny van der Kraan 14 dic. 2016 a las 16:04