visual vista tutorial temas tag studio previa para iconos español configurar code visual-studio-2010 deployment msbuild mef package

visual-studio-2010 - vista - visual studio code tutorial español pdf



Creación de paquetes de Visual Studio y archivos DLL en la ruta del contenedor privado (3)

Consulte esta respuesta aquí para obtener un enfoque: Team Build 2010: Referencias de Third Party Assembly que no se copian a la carpeta de salida

Estoy usando MEF para hacer una especie de arquitectura de complemento crudo. Esto está funcionando bien. Sin embargo, cuando realizo una implementación usando el paquete visual studio / publish build tasks (que estoy llamando a través de NAnt / MSbuild). Mis ensamblajes de complemento sin referencia no se incluyen en el paquete y, por lo tanto, no se implementan.

¿Hay alguna manera de decirle a VS / MSBuild que incluya estos archivos DLL?

Ellos viven en / bin / Extensions.

Saludos, Rob


Encontré la respuesta en esta publicación de blog. Funciona perfectamente: http://sedodream.com/2010/05/01/WebDeploymentToolMSDeployBuildPackageIncludingExtraFilesOrExcludingSpecificFiles.aspx

Básicamente, aquí está el código que agregué a mi archivo de proyecto.

<!-- Added by RSL to deal with deploying the plugins folder Followed tutorial here: http://sedodream.com/2010/05/01/WebDeploymentToolMSDeployBuildPackageIncludingExtraFilesOrExcludingSpecificFiles.aspx --> <PropertyGroup> <CopyAllFilesToSingleFolderForPackageDependsOn> CollectExtensionDLLs; CollectExtensionViews; $(CopyAllFilesToSingleFolderForPackageDependsOn); </CopyAllFilesToSingleFolderForPackageDependsOn> </PropertyGroup> <Target Name="CollectExtensionDLLs"> <ItemGroup> <_CustomFiles Include="bin/Extensions/**/*"/> <FilesForPackagingFromProject Include="%(_CustomFiles.Identity)"> <DestinationRelativePath>bin/Extensions/%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath> </FilesForPackagingFromProject> </ItemGroup> </Target> <Target Name="CollectExtensionViews"> <ItemGroup> <_CustomFiles Include="Views/Extensions/**/*"/> <FilesForPackagingFromProject Include="%(_CustomFiles.Identity)"> <DestinationRelativePath>Views/Extensions/%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath> </FilesForPackagingFromProject> </ItemGroup> </Target> <!-- //// End Rob''s modifications -->


  • Agregue los ensamblajes como enlaces en el proyecto donde los quiere copiar: haga clic derecho en el proyecto -> Agregar -> Objeto existente -> seleccione el ensamblaje. En lugar de simplemente hacer clic en Agregar, haga clic en la flecha que se encuentra a su lado y seleccione "Agregar como enlace"
  • Seleccione el ensamblado vinculado en el explorador de soluciones -> abrir propiedades si no está abierto:
    • Acción de compilación: ninguna
    • Copiar al directorio de salida: Copiar siempre o Copiar si es más reciente

Al hacer lo anterior, los ensamblajes siguen estando físicamente donde los tenía originalmente (supongo que es una carpeta de referencias) y cuando los construye, los copian en la carpeta bin.