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.