Sorprendentemente la respuesta para Visual Studio 2012 no está aquí:
La respuesta con la marca verde no es la respuesta.
La respuesta "aumentada" más alta hace referencia a un artículo de 2010 y dice que tiene que editar el archivo de proyecto csproj que ahora es incorrecto. Agregué el elemento XML ExcludeFoldersFromDeployment a mi archivo csproj de Visual Studio 2012 y no hizo nada, el elemento se consideró no válido, esto se debe a que se ha movido ExcludeFoldersFromDeployment al archivo .pubxml.
para aplicaciones web y sitios web de editar el archivo .pubxml!
Puedes seguir mi respuesta o tratar de esta guía que encontré más tarde: http://www.leniel.net/2014/05/using-msdeploy-publish-profile-pubxml-to-create-an-empty-folder-structure-on-iis-and-skip-deleting-it-with-msdeployskiprules.html#sthash.MSsQD8U1.dpbs
sí, se puede hacer esto, no sólo para página web del proyecto, pero también los sitios web. Pasé mucho tiempo en Internet buscando esta esquiva capacidad de exclusión con un sitio web de Visual Studio (proyecto NO de sitio web) y había llegado a la conclusión de que no era posible, pero parece que es:
En su [mypublishwebsitename] .pubxml archivo, que se encuentra en ~/Propiedades/PublishProfiles para proyectos de aplicación web y ~/App_Data/PublishProfiles para los sitios web, sólo tiene que añadir:
<ExcludeFilesFromDeployment>File1.aspx;Folder2\File2.aspx</ExcludeFilesFromDeployment>
<ExcludeFoldersFromDeployment>Folder1;Folder2\Folder2a</ExcludeFoldersFromDeployment>
como los niños al elemento principal <PropertyGroup>
en su archivo .pubxml. No es necesario agregar un nuevo elemento, a menos que esté manipulando un tipo de compilación específico, como la versión o la depuración.
PERO ESPERE !!!
Si va a extraer los archivos de su servidor de destino/objetivo con los siguientes ajustes en la configuración de publicación:
A continuación, la Web Publicar proceso eliminará en su nada servidor de origen/destino excluidos, como un elemento que ha delineado en su <ExcludeFoldersFromDeployment>
y <ExcludeFilesFromDeployment>
!
MSDeploy Reglas Saltar al rescate:
En primer lugar, Web Publicar usa algo que no sea MSBuild para publicar (llamada Task IO o algo por el estilo), pero tiene un error y no reconocerá saltarse las reglas, por lo debe agregar a su .pubxml:
<PropertyGroup>
<WebPublishMethod>MSDeploy</WebPublishMethod>
</PropertyGroup>
me gustaría mantener <WebPublishMethod>
en su propia <PropertyGroup>
, se podría pensar que sólo podría tener uno <PropertyGroup>
elemento en su .pubxml pero mi Reglas Omitir no estaban siendo llamada hasta que me mudé <WebPublishMethod>
a su propio elemento <PropertyGroup>
. Sí, loco, pero el hecho de que necesites hacer todo esto para que Web Publish excluya y no elimine una carpeta/archivo en tu servidor es una locura.
Ahora mis SkipRules reales, ExcludeFolders y ExcludeFiles declaraciones en mi .pubxml:
<ExcludeFoldersFromDeployment>Config</ExcludeFoldersFromDeployment>
<ExcludeFoldersFromDeployment>Photos</ExcludeFoldersFromDeployment>
<ExcludeFoldersFromDeployment>Temp</ExcludeFoldersFromDeployment>
<ExcludeFilesFromDeployment>Web.config</ExcludeFilesFromDeployment>
<AfterAddIisSettingAndFileContentsToSourceManifest>AddCustomSkipRules</AfterAddIisSettingAndFileContentsToSourceManifest>
Y ahora a las Reglas de salto (<Target>
es un hijo de <Project>
en su .pubxml): (Usted puede será capaz de salir <SkipAction>
vacío a Salta para todas las acciones, pero no he probado eso y no estoy seguro.
<Target Name="AddCustomSkipRules">
<Message Text="Adding Custom Skip Rules" />
<ItemGroup>
<MsDeploySkipRules Include="SkipConfigFolder">
<SkipAction>Delete</SkipAction>
<ObjectName>dirPath</ObjectName>
<AbsolutePath>$(_DestinationContentPath)\\Config</AbsolutePath>
<XPath>
</XPath>
</MsDeploySkipRules>
<MsDeploySkipRules Include="SkipPhotosFolder">
<SkipAction>Delete</SkipAction>
<ObjectName>dirPath</ObjectName>
<AbsolutePath>$(_DestinationContentPath)\\Photos</AbsolutePath>
<XPath>
</XPath>
</MsDeploySkipRules>
<MsDeploySkipRules Include="SkipWebConfig">
<SkipAction>Delete</SkipAction>
<ObjectName>filePath</ObjectName>
<AbsolutePath>$(_DestinationContentPath)\\Web\.config</AbsolutePath>
<XPath>
</XPath>
</MsDeploySkipRules>
<MsDeploySkipRules Include="SkipWebConfig">
<SkipAction>Delete</SkipAction>
<ObjectName>dirPath</ObjectName>
<AbsolutePath>$(_DestinationContentPath)\\Temp</AbsolutePath>
<XPath>
</XPath>
</MsDeploySkipRules>
</ItemGroup>
</Target>
Y, por favor, no olvides escapar del .
en una regla FilePath Skip con una barra diagonal inversa.
Aquí puede encontrar una solución muy simple: http://stackoverflow.com/questions/1288858/how-to-exclude-web-config-when-publishing-with-visual-web-developer-express –