instalar - Publique WCF Service(o ASP.NET Web Application) usando la línea de comando
instalar msbuild (3)
Hola, debería echar un vistazo a los proyectos de despliegue web . En realidad, estos son archivos de MSBuild con soporte de Visual Studio GUI. Precompilarán su sitio. Puede ampliar el comportamiento de estos para copiar los archivos generados a su servidor web.
Sayed Ibrahim Hashimi
Mi libro: dentro del motor de compilación de Microsoft: usando MSBuild y Team Foundation Build
Me gustaría simular el elemento de menú "Publicar ..." del menú contextual del proyecto WCF Service (o ASP.NET Web Application o ...) en Visual Studio 2008. No tengo la necesidad de publicarlo en una instancia de IIS en ejecución. , solo para poner el contenido web junto con la carpeta bin en algún directorio local. ¿Hay alguna forma de agregarlo en eventos posteriores a la compilación o como una tarea MSBuild?
Aquí está la respuesta, gracias a este enlace: http://codingcockerel.co.uk/2008/05/18/how-to-publish-a-web-site-with-msbuild/ Así que, acabo de modificar el. archivo csproj de la aplicación web, y escribió esto en el objetivo AfterBuild (que ya estaba allí):
<Target Name="BeforeBuild">
<Message Text="##############Before build##################" Importance="high"/>
<RemoveDir Directories="publish"
ContinueOnError="true"/>
</Target>
<Target Name="AfterBuild">
<Message Text="##############After build##################$(OutputFolder)" Importance="high"/>
<MSBuild Projects="$(ProjectName).csproj"
Targets="ResolveReferences;_CopyWebApplication"
Properties="WebProjectOutputDir=publish/;OutDir=publish/bin/" />
</Target>
Debería poder escribir un comando xcopy para copiar los archivos que necesita a la ubicación correcta. Microsoft tiene un artículo sobre la implementación de xcopy para asp.net .
Una vez que tenga el comando correcto, puede ponerlo en las acciones de Post Build para que se active automáticamente después de una compilación.
Consulte también el evento VS Post Build para ejemplos sobre cómo copiar solo el resultado dll (tenga en cuenta el uso de $ (TargetPath) y $ (TargetDir)).