jueves, 25 de julio de 2019

Error CS0234: The type or namespace name 'Debug' does not exist in the namespace 'Microsoft.Extensions.Logging' OSX windows

Error CS0234: The type or namespace name 'Debug' does not exist in the namespace 'Microsoft.Extensions.Logging' (are you missing an assembly reference?) (CS0234)

Estoy trabajando un proyecto con otras personas de ASPNETCore

Cuando intento compilar la aplicación me genera el siguiente error:

Error CS0234: The type or namespace name 'Debug' does not exist in the namespace 'Microsoft.Extensions.Logging' (are you missing an assembly reference?) (CS0234)

y el warning

/Library/Frameworks/Mono.framework/Versions/5.18.1/lib/mono/msbuild/Current/bin/Microsoft.Common.CurrentVersion.targets(5,5): Warning MSB3245: No se pudo resolver esta referencia. No se encuentra el ensamblado "Microsoft.Extensions.Logging.Debug". Compruebe si el ensamblado existe en el disco. Si el código necesita esta referencia, podrían producirse errores de compilación. (MSB3245) 


Quien realizo la base del proyecto inicio en windows y en mi caso yo estoy usando una Mac, con OSX

Después de varios días sin encontrar como resolverlo, me dieron un consejo, ejecutar: dontnet run en el directorio del proyecto.

Eso genero el mismo error, pero me permitió saber por donde iba el problema.


error CS0234: The type or namespace name 'Debug' does not exist in the namespace 'Microsoft.Extensions.Logging' (are you missing an assembly reference?) [/Users/usuario/Documents/proyecto/src/terra/terra.csproj]


Resulta ser que se configuro una dependencia  y el conflicto hacia referencia a una librería que no tenía en el archivo del proyecto: /Users/usuario/Documents/proyecto/src/terra/terra.csproj 

Microsoft.Extensions.Logging.Debug

y que además hace referencia a una ruta que es de windows.



<ItemGroup>
    <Reference Include="Microsoft.Extensions.Logging.Debug">
      <HintPath>..\..\..\..\..\..\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.extensions.logging.debug\2.1.1\lib\netstandard2.0\Microsoft.Extensions.Logging.Debug.debug.dll</HintPath>
    </Reference>

  </ItemGroup>

x

Solución

Buscar el directorio donde deben estar instaladas las librerías del core en osx, en la consola con el comando:

find / -name NuGetFallbackFolder  

Resultado:

/usr/local/share/dotnet/sdk/NuGetFallbackFolder/

Entonces, debemos editar el archivo del proyecto

/Users/usuario/Documents/proyecto/src/terra/terra.csproj

Actualizar la línea:


<HintPath>/usr/local/share/dotnet/sdk/NuGetFallbackFolder/microsoft.extensions.logging.debug/2.1.1/lib/netstandard2.0/Microsoft.Extensions.Logging.Debug</HintPath>

Guardar los cambios

Ir a Visual Studio

Dar clic en Agregar-> Agregar paquetes NuGet 


Buscar Microsoft.Extensions.Logging.Debug
Dar clic en el botón Agregar paquetes





Aceptar las licencias


y una vez instalado, compilar su aplicación.




Ahora ya puede visualizar su aplicación =)






No hay comentarios.:

Publicar un comentario