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
y 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 =)