Saltar al contenido

Nuget no puede restaurar Microsoft.Net.Compilers.1.0.0

Solución:

Dado que la configuración del formato de administración de paquetes en PackageReference instala los paquetes en la carpeta global nuger que es C:Users{username}.nugetpackages tuve que editar el archivo csproj actualizar las siguientes líneas

parte superior de csproj

<Import Project="$(UserProfile).nugetpackagesMicrosoft.CodeDom.Providers.DotNetCompilerPlatform1.0.7buildnet45Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('$(UserProfile).nugetpackagesMicrosoft.CodeDom.Providers.DotNetCompilerPlatform1.0.7buildnet45Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />
  <Import Project="$(UserProfile).nugetpackagesMicrosoft.Net.Compilers2.1.0buildMicrosoft.Net.Compilers.props" Condition="Exists('..packagesMicrosoft.Net.Compilers.2.1.0buildMicrosoft.Net.Compilers.props')" />

y luego actualice las siguientes líneas en la parte inferior de csproj

<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
    <PropertyGroup>
      <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
    </PropertyGroup>
    <Error Condition="!Exists('$(UserProfile).nugetpackagesMicrosoft.Net.Compilers2.1.0buildMicrosoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '$(UserProfile).nugetpackagesMicrosoft.Net.Compilers2.1.0buildMicrosoft.Net.Compilers.props'))" />
    <Error Condition="!Exists('$(UserProfile).nugetpackagesMicrosoft.CodeDom.Providers.DotNetCompilerPlatform1.0.7buildnet45Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '$(UserProfile).nugetpackagespackagesMicrosoft.CodeDom.Providers.DotNetCompilerPlatform1.0.7buildnet45Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />
  </Target>

Todo esto es solo para referencia NET Standard 1.4 proyecto en .NET 4.6.2. ¡¡muy molesto!!

En mi caso, había descargado un proyecto de GitHub que no incluía el sln completo, pero era solo una carpeta con .csproj y la carpeta de paquetes en el mismo nivel.

En este caso, simplemente tuve que reemplazar “.. packages ” con “. Packages ” en el archivo .csproj. Supongo que el propietario del repositorio de GitHub decidió cargar solo la carpeta del proyecto, pero no volvió a compilar para probar antes de cargar … ¿tal vez?

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *