visual studio personalizar fuente configurar code cambiar visual-studio-2010 mono nuget xbuild

visual-studio-2010 - fuente - personalizar visual studio code



Error al inicializar la tarea DownloadNuGet: tarea no registrada DownloadNuGet (2)

Estoy intentando compilar mediante la aplicación C # usando Mono en Ubuntu. Estoy tratando de evitar la necesidad de incluir nuget.exe en mi repositorio de git y he seguido la respuesta aceptada en esta pregunta

Esto funciona si uso Visual Studio 2010. Cuando construyo la aplicación, nuget.exe se descarga como se esperaba.

Sin embargo, cuando intento usar mono y xbuild, recibo el siguiente error.

Target Build: Project "/home/builduser/SpecialBuildProj/BuildTrade/BuildTrade.csproj" (default target(s)): Target CheckPrerequisites: Project "/home/builduser/SpecialBuildProj/.nuget/NuGet.targets" (_DownloadNuGet target(s)): Target _DownloadNuGet: : error : Error initializing task DownloadNuGet: Not registered task DownloadNuGet. Task "DownloadNuGet" execution -- FAILED Done building target "_DownloadNuGet" in project "/home/builduser/SpecialBuildProj/.nuget/NuGet.targets".-- FAILED Done building project "/home/builduser/SpecialBuildProj/.nuget/NuGet.targets".-- FAILED Task "MsBuild" execution -- FAILED Done building target "CheckPrerequisites" in project "/home/builduser/SpecialBuildProj/BuildTrade/BuildTrade.csproj".-- FAILED Done building project "/home/builduser/SpecialBuildProj/BuildTrade/BuildTrade.csproj".-- FAILED Task "MSBuild" execution -- FAILED Done building target "Build" in project "/home/builduser/SpecialBuildProj/SpecialBuildProj.sln".-- FAILED Done building project "/home/builduser/SpecialBuildProj/SpecialBuildProj.sln".-- FAILED

Lo único que he cambiado es configurar DownloadNuGetExe = true en nuget.targets , para que la línea se vea así:

<DownloadNuGetExe Condition=" ''$(DownloadNuGetExe)'' == '''' ">true</DownloadNuGetExe>

Mi pregunta: ¿cómo puedo configurarlo para que el comportamiento que usa mono / xbuild sea el mismo que cuando se usa Visual Studio (es decir, ese nuget se descargue automáticamente)?

Editar Esta es la línea UsingTask que aparece en el archivo NuGet.targets .

<UsingTask TaskName="DownloadNuGet" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)/Microsoft.Build.Tasks.v4.0.dll"> <ParameterGroup> <OutputFilename ParameterType="System.String" Required="true" /> </ParameterGroup> <Task> <Reference Include="System.Core" /> <Using Namespace="System" /> <Using Namespace="System.IO" /> <Using Namespace="System.Net" /> <Using Namespace="Microsoft.Build.Framework" /> <Using Namespace="Microsoft.Build.Utilities" /> <Code Type="Fragment" Language="cs"> <![CDATA[ try { OutputFilename = Path.GetFullPath(OutputFilename); Log.LogMessage("Downloading latest version of NuGet.exe..."); WebClient webClient = new WebClient(); webClient.DownloadFile("https://nuget.org/nuget.exe", OutputFilename); return true; } catch (Exception ex) { Log.LogErrorFromException(ex); return false; } ]]> </Code> </Task> </UsingTask>


Crea una secuencia de comandos para descargarlo. P.ej

wget http://nuget.org/nuget.exe cp nuget.exe ./.nuget/NuGet.exe chmod a+x ./.nuget/NuGet.exe

Esto mantiene su NuGet.exe actualizado. Fuente


Esto sigue siendo un problema hoy en día con Xamarin Studio for Business y MacOS. Me encontré con este error al intentar construir el SDK de Facebook. Tuve que eliminar las referencias de destino NuGet en el archivo del proyecto para hacer la construcción del proyecto. Xamarin Studio tiene incorporada la actualización NuGet, así que pude descargar los paquetes manualmente.