我有一个WebSite,它位于我计算机上的文件夹中。它没有.csproj - 只是文件夹中的所有文件。我想在自动构建中执行发布网站,这基本上是使用msbuild.exe和\或msdeploy.exe和\或aspnet_compiler.exe和/或其他任何内容在命令行中执行。
如果您想创建一个类似的项目,您可以创建一个空的解决方案,添加 - >新网站(在组合框中选择文件系统),添加一个空类文件,右键单击解决方案资源管理器中的网站行,在解决方案行下,发布网站,在那里你需要创建一个新的配置文件 - 真的很容易 - 基本上选择"文件系统"然后发布。
我在VS2012上运行,更新4。
答案 0 :(得分:1)
如果传入
的MSbuild参数/p:DeployOnBuild=true;PublishProfile=PROFILENAME
如果您的个人资料设置正确,它应该与从VS发布相同
修改
很抱歉只需要运行其中一个来查看会发生什么
当您将网站签入TFS时,它会创建一个网站文件夹。
然后,您可以将构建映射到此文件夹。
而不是将构建映射到sln文件,您可以指向publishproj文件,这将在您创建发布配置文件时创建。这告诉构建要做什么
在此我将发布位置设置为c:\ publish,在构建之后,我将输出放在名为c:\ publish的文件夹中。
生成的publishproj文件如下所示
<?xml version="1.0" encoding="utf-8"?>
<!--
***********************************************************************************************
website.publishproj
WARNING: DO NOT MODIFY this file, it is used for the web publish process.
Copyright (C) Microsoft Corporation. All rights reserved.
***********************************************************************************************
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>10.0.30319</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{f17a9da4-9b68-41e4-ab73-5ac72898b384}</ProjectGuid>
<SourceWebPhysicalPath>$(MSBuildThisFileDirectory)</SourceWebPhysicalPath>
<SourceWebVirtualPath>/WebSite1</SourceWebVirtualPath>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<SourceWebProject>http://localhost:61874</SourceWebProject>
<SourceWebMetabasePath>/IISExpress/7.5/LM/W3SVC/15/ROOT</SourceWebMetabasePath>
</PropertyGroup>
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
<!-- for VS2010 we need to use 10.5 but for VS2012+ we should use VisualStudioVersion -->
<WebPublishTargetsVersion Condition=" '$(WebPublishTargetsVersion)' =='' and '$(VisualStudioVersion)' == 10.0 ">10.5</WebPublishTargetsVersion>
<WebPublishTargetsVersion Condition=" '$(WebPublishTargetsVersion)'=='' ">$(VisualStudioVersion)</WebPublishTargetsVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(WebPublishTargetsVersion)</VSToolsPath>
<_WebPublishTargetsPath Condition=" '$(_WebPublishTargetsPath)'=='' ">$(VSToolsPath)</_WebPublishTargetsPath>
<AssemblyFileVersion Condition="'$(AssemblyFileVersion)' == ''">1.0.0.0</AssemblyFileVersion>
<AssemblyVersion Condition="'$(AssemblyVersion)' == ''">1.0.0.0</AssemblyVersion>
</PropertyGroup>
<ItemGroup>
<AssemblyAttributes Include="AssemblyFileVersion">
<Value>$(AssemblyFileVersion)</Value>
</AssemblyAttributes>
<AssemblyAttributes Include="AssemblyVersion">
<Value>$(AssemblyVersion)</Value>
</AssemblyAttributes>
</ItemGroup>
<Import Project="$(_WebPublishTargetsPath)\Web\Microsoft.WebSite.Publishing.targets" />
</Project>