Tengo una aplicación ASP.NET MVC 4 desarrollada en VS 2012. La aplicación consta de un proyecto principal (MyProject), un proyecto de prueba unitaria (MyProject.Tests), un proyecto de implementación de Azure (MyProject.Azure) y un par de proyectos de biblioteca de propósito general.
Cuando hago clic con el botón derecho en la solución o en el proyecto principal y selecciono Administrar paquetes NuGet, veo un montón de actualizaciones de Microsoft que aparentemente están disponibles en el último mes. Si hago clic en el botón Actualizar todo, las actualizaciones aparentemente se instalan sin ningún problema obvio, pero cuando construyo la solución, aparece este mensaje de error DOS VECES:
warning : All projects referencing MyProject.csproj must install nuget package Microsoft.Bcl.Build
Ok, tengo dos proyectos que hacen referencia a MyProject: MyProject.Tests y MyProject.Azure. Puedo hacer clic con el botón derecho en MyProject.Tests, seleccionar ManageNuGet Packages y agregar Microsoft.Bcl.Build. Eso elimina una de las dos advertencias. Pero VS no me da una opción para administrar paquetes NuGet para el proyecto MyProject.Azure .
¿Cómo agrego el paquete Microsoft.Bcl.Build al proyecto de implementación de Azure?
EDITAR:
Gracias al aumento de usuarios , ahora sé que se ha abierto aquí un problema de Microsoft Connect para este problema .
fuente
Respuestas:
Si hace doble clic en la advertencia, obtendrá instrucciones para desactivar la advertencia.
Es seguro deshabilitar las referencias de proyectos de proyectos que aún no son compatibles con Nuget.
Consulte la parte siguiente en negrita copiada de Microsoft.Bcl.Build.targets.
BclBuildValidateNugetPackageReferences
Este objetivo se puede deshabilitar para una referencia de proyecto estableciendo SkipValidatePackageReferences = true para la referencia:
fuente
La respuesta proporcionada por TheESJ es correcta, sin embargo, la redacción no me quedó clara. Dado que no puedo comentar sobre la respuesta, proporcionaré más detalles aquí. Específicamente, estaba teniendo este problema con un proyecto de Azure y se necesitaba la siguiente solución para que desapareciera la advertencia:
Cuando hace doble clic en la advertencia en VisualStudio, se le dirigirá al destino BclBuildValidateNugetPackageReferences en el archivo Microsoft.BclBuild.targets. Por encima del elemento de destino real, debería encontrar un bloque de comentarios grande que habla sobre la desactivación de las verificaciones de referencia del proyecto. Dado que los proyectos de Azure no pueden tener referencias de biblioteca, es imposible que esos proyectos de Azure cumplan con los requisitos de este objetivo de compilación en particular.
¿La solución? Deshabilite la comprobación de referencias del proyecto de Azure, ya que es imposible agregar realmente una referencia de paquete nuget.
EJEMPLO
Entonces, suponga que tenemos dos proyectos: MyAzureProject.ccproj que hace referencia a MyProject.csproj . Sigue estos pasos:
Busque la referencia del proyecto a "MyProject". Debería verse algo como:
Agregue el siguiente elemento dentro del elemento ProjectReference:
La referencia de su proyecto ahora debería verse así:
Haga clic con el botón derecho en "MyAzureProject" en el Explorador de soluciones y seleccione "Recargar proyecto".
Ahora debería poder reconstruir y el error debería desaparecer.
fuente
MyAzureProject.ccproj
lugar deMyAzureProject.csproj
?Enfrenté el mismo problema y estaba intentando actualizar Microsoft.Bcl.Build.targets; que no ayudó.
Después de una investigación, se descubrió que el archivo .csproj del proyecto de servicio de Azure debe modificarse para incluir
<Properties>SkipValidatePackageReferences=true</Properties>
.Esto no fue evidente en la respuesta de @TheESJ, por lo que decidió publicar una respuesta por separado. Gracias a @TheESJ.
fuente
Encontré este problema varias veces, y el método de Propiedades realmente funciona, pero cuando se trata de un proyecto Wix, tuve que hacer lo siguiente en su lugar:
Cuando usé el nodo Propiedades Xml, recibí un nuevo error:
fuente