Archive

Archive for the ‘Visual studio 2017’ Category

Ejecutando un sitio ASP.Net core en Linux

ASP.Net es una tecnologia opensource y multiplataforma por lo tanto podemos sin problemas crear, editar y publicar una aplicación en .net core en linux

Microsoft nos explica facilmente desde su pagina oficial cuales son los comandos para instalr el SDK de .net core que vendria siendo el primer paso que debemos dar

https://www.microsoft.com/net/core#linuxredhat

para caso de ubutu tenemos el ejemplo a continuacion:


sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ xenial main" > /etc/apt/sources.list.d/dotnetdev.list'


sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 417A0893


sudo apt-get update

luego solo debemos lanzar el comando estandar de instalación:


sudo apt-get install dotnet-dev-1.0.1

Luego para resturar y correr el proyecto solo necesitamos abrir una consola en al ubicacion del proyecto

corelinux

Y luego los comandos

  • dotnet restore (restaura los paquetes y descarga los nugets que se necesiten)
  • dotnet run ( ejecuta la aplicacion en el servidor interno de .net core)

corelinux2

Razor vs Tag helpers .Net core

En .Net core tenemos la posibilidad de utilizar Tag Helpers para diseñar nuestras vistas, esto nos permite omitir el uso de Razor y poder diseñar vistas simplemente extendiendo las propiedades de HTML con algunas especificas integradas.

Hay que aclarar que podemos usar una combinación de Razor y tag herlpes en pocas podemos usar el uno, el otro o la combinación de ambos.

Aquí esta una lista de como podemos se traduce a través de  TagHelpers cierta nomenclatura de Razor:

Razor
1 “@Html.LabelFor(model => model.title)”
2 “@Html.EditorFor(model => model.title)”
3 “@Html.ValidationMessageFor(model => model.title, “”)”
4 “@using (Html.BeginForm())”
5 “@Html.ValidationSummary(true, “”, new { @class = “text-danger” })”
6 “@Html.ActionLink(“Back to List”, “Index”)”
7 “@Html.TextAreaFor(model=> model.Description)”
8 “@Html.DropDownList(“Country”, (IEnumerable<SelectListItem>)ViewData[“Countries”])”
Tag Helper
1 <label asp-for=”title”></label>
2 <input asp-for=”title” />
3 <span asp-validation-for=”title”></span>
4 <form asp-action=”Create”>
5
6 <a asp-action=”Index”>Back to List</a>
7 <textarea asp-for=”Description”></textarea>
8 <select asp-for=”Country” asp-items=”Model.Countries”></select>

Sin título

Razor vs Tag helpers

Definir página inicial en ASP.NET Core

marzo 29, 2017 Deja un comentario

Para definir una pagina por defecto en ASP.Net core simplemente tenemos que cambia la ruta por defecto del controlador

 app.UseMvc(routes =>
 {
 routes.MapRoute(
 name: "default",
 template: "{controller=[controller]}/{action=[action]}/{id?}");
 });

Si deseamos especificar una pagina HTML debemos usar el metodo DefaultFiles como muestra en el ejemplo

 DefaultFilesOptions DefaultFile = new DefaultFilesOptions();
 DefaultFile.DefaultFileNames.Clear();
 DefaultFile.DefaultFileNames.Add("MyPage.html");
 app.UseDefaultFiles(DefaultFile);
 app.UseStaticFiles();

Usar StreamReader .Net core

marzo 27, 2017 Deja un comentario

En .Net core tenemos un problema usando la clase StreamReader para leer un archivo y es por que no podemos usar el constructor que usualmente recibe la ruta del archivo que deseamos leer

streamreader

El WorkAround para este caso es utilizar la clase File con el metodo open File.OpenText

using (var myReader = File.OpenText("data/books.json"))
 {
 string str = myReader.ReadToEnd(); 
 return JsonConvert.DeserializeObject<List<Book>>(str);
 }

 

 

Error creando controller en visual 2017

marzo 26, 2017 Deja un comentario

Cuando creamos un proyecto tipo Api en visual 2017 puede ocurrir un error por el diseñador

Untitlednetcorecontrollererrornetcorecontrollererror2

Para solucionar este inconveniente simplimente agregamos al archivo del proyecto .csproj los siguientes paquetes:

<PackageReference Include=”Microsoft.VisualStudio.Web.CodeGeneration.Design” Version=”1.1.0-msbuild3-final” PrivateAssets=”All” />

<ItemGroup>
<DotNetCliToolReference Include=”Microsoft.EntityFrameworkCore.Tools.DotNet” Version=”1.0.0-msbuild3-final” />
<DotNetCliToolReference Include=”Microsoft.Extensions.SecretManager.Tools” Version=”1.0.0-msbuild3-final” />
<DotNetCliToolReference Include=”Microsoft.VisualStudio.Web.CodeGeneration.Tools” Version=”1.0.0-msbuild3-final” />
</ItemGroup>

 

Rereferencia:

https://developercommunity.visualstudio.com/content/problem/5964/code-generator-error-creating-controller.html