¿Hay alguna manera de utilizar MSBuild Extension Pack con una referencia "local" que no requiera que ejecute el instalador? En otras palabras, ¿puede almacenar los objetivos en una carpeta de elementos de solución para que cada desarrollador no tenga que instalarla?¿Es posible usar MSBuild Extension Pack sin instalación?
Respuesta
Tiene que declarar la propiedad, ExtensionTasksPath, antes de la declaración de importación para las tareas. Por ejemplo echar un vistazo a:
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ExtensionTasksPath Condition="'$(ExtensionTasksPath)' == ''">E:\Data\Development\My Code\Community\MSBuild\ExtensionPack\</ExtensionTasksPath>
</PropertyGroup>
<Import Project="$(ExtensionTasksPath)MSBuild.ExtensionPack.tasks"/>
<Target Name="Demo">
<MSBuild.ExtensionPack.FileSystem.File TaskAction="GetTempFileName">
<Output TaskParameter="Path" PropertyName="TempPath"/>
</MSBuild.ExtensionPack.FileSystem.File>
<Message Text="TempPath: $(TempPath)" />
</Target>
</Project>
Las tareas de MSBuild Comunidad es similar, pero la propiedad se denomina MSBuildCommunityTasksLib. Creo que para tareas SDC se llama TasksPath.
¡Gracias! Acabo de ver tus episodios de DNRtv en MSBuild y fueron fantásticos. – Bob
Tuve problemas para hacer que esto funcione con rutas relativas (es decir, no c: \ blah pero ... \ blah).
Esto se debe a que no se pudo volver a utilizar la variable ExtensionTasksPath si era relativa, ya que su archivo (.csproj) y el archivo MsBuild.ExtensionPack.tasks están en diferentes ubicaciones, lo que da como resultado un valor diferente para el camino.
Al final esto es lo que tengo trabajo para mí (poner en la parte superior de su archivo .csproj):
<PropertyGroup>
<ExtensionTasksPath Condition="'$(ExtensionTasksPath)' == ''">..\4.0\</ExtensionTasksPath>
</PropertyGroup>
<Import Project="..\references\ExtensionPack\4.0\MSBuild.ExtensionPack.tasks"/>
La razón por la que necesita el ".. \ 4.0 \" en lugar de sólo " "(en blanco) es porque el archivo MsBuild.ExtensionPack.tasks detecta en blanco y hace algunas cosas diferentes si ese es el caso. No quería hackear el archivo MsBuild.ExtensionPack.tasks en caso de que quisiera actualizarlo más tarde.
Esto funcionó para mí. ¡Gracias! –
- 1. ¿Es posible crear constructor-extension-method? ¿cómo?
- 2. ¿Es posible ejecutar una aplicación Adobe AIR sin instalación?
- 3. ¿Es posible usar Xtext sin eclipse?
- 4. ¿Es posible usar pyplot sin DISPLAY?
- 5. Instalación de MSBuild 4.0 sin Visual Studio 2010
- 6. Instalación manual de Cygwin sin usar Setup.exe
- 7. .action extension ... ¿qué es?
- 8. Usar las tareas de la comunidad msbuild sin instalar
- 9. Posible usar FlashMessenger sin redirigir?
- 10. Microsoft Visual Studio 2010 Service Pack 1 instalación
- 11. ¿Es posible inicializar una estructura sin usar una función?
- 12. ¿Es posible usar un MapView sin tener que extender MapActivity?
- 13. es posible la autoupdating en Android sin usar Android Market?
- 14. .NET - ¿Es posible usar ASP.NET sin MVC usando HTML 5?
- 15. ¿Es posible usar https (servidor propio) sin pagar nada?
- 16. ¿Es posible descomprimir una tupla sin usar variables?
- 17. JAXB: ¿No es posible usar un XmlAdapter sin @XmlJavaTypeAdapter?
- 18. ¿Es posible usar un ListView sin ListActivity en Mono Android?
- 19. ¿Es posible usar Linq-SQL sin arrastrar y soltar?
- 20. PyDev instalación sin conexión
- 21. ¿Puedo usar Html Agility Pack para esto?
- 22. ¿Es posible CSRF sin cookies?
- 23. HTML Agility Pack
- 24. Posible usar Flex Framework/Components sin usar MXML?
- 25. Cómo usar Zend Library sin instalación de Zend Framework
- 26. OpenGL ES 2.0 posible sin NDK?
- 27. ¿es posible usar pestañas sin usar la etiqueta de anclaje y la identificación?
- 28. ¿Es posible incluir la instalación de Visual Studio 2008 SP1?
- 29. Instalación de GHC sin raíz
- 30. ¿Es posible modificar el archivo del proyecto VS durante la instalación del paquete NuGet?
El nombre para ese tipo de "instalación" se llama "implementación xcopy" –
Mi último comentario es un poco pobre en gramática. Lo siento, tengo sueño ... –
No sigo. Me preguntaba si puede hacer referencia a las extensiones de MSBuild en cualquier ubicación de la máquina, sin ejecutar el msi para instalar las extensiones. – Bob