2010-05-05 183 views
30

有没有办法在使用CLI的MS Visual Studio 2010中发布Web项目?我使用DevEnv.exe/Build来构建一个项目,它工作正常,但是我找不到发布项目的选项。Visual Studio。从命令行发布项目

我还想提一件。我正在尝试将Web项目直接发布到IIS。我有一个位置可以发布多个项目,然后自动将它们构建到NSIS包中进行部署。

回答

22

什么工作最好的是以下目标添加到项目文件:

<Target Name="AfterBuild"> 
    <Message Text="Copying to Deployment Dir:" /> 
    <Copy SourceFiles="@(Content)" DestinationFolder="..\XXX\%(Content.RelativeDir)" /> 
     <CreateItem Include="$(OutputPath)\*"> 
     <Output TaskParameter="Include" ItemName="Binaries"/> 
     </CreateItem> 
    <Copy SourceFiles="@(Binaries)" DestinationFolder="..\XXX\bin" /> 
</Target> 

这样,每当项目建成(从命令行或从IDE)它会自动部署到指定的文件夹。感谢大家指点我正确的方向。

+0

问题与此同时它发布调试和发布模式不是吗?如果您的调试配置发布,那可能会对现场造成严重后果。想想我们需要的是一个CLI批处理:'使用此发布设置构建发布和发布'。 – 2012-01-13 17:01:01

+1

@RobKent你可以设置配置文件转换,然后你可以使用它来触发上述行为仅适用于特定的构建配置。只需google .net config转换。 – 2014-06-13 13:45:15

-2

的MSBuild(我相信附带VS)提供了一个发布命令行选项:

msbuild /t:publish yourproject.csproj 
+0

看起来像它跳到我的项目说: D:\ Dev \ Project> msbuild/t:publish“Project.csproj” Microsoft(R)Build Engine Version 3.5.30729.4926 [Microsoft .NET Framework,Version 2.0.50727.4927] 版权所有(C)Microsoft Corporation 2007.保留所有权利。 开始建造5/5/2010 10:06:58 AM。 节点0(发布目标)上的项目“D:\ Dev \ Project \ Project.csproj”。 跳过不可发布的项目。 完成构建项目“D:\ Dev \ Project \ Project.csproj”(发布目标)。 构建成功。 0警告 0错误 时间已用00:00:00.00 – sha 2010-05-05 17:12:53

+0

这仅适用于ClickOnce应用程序 – reggaeguitar 2015-06-26 16:39:17

6

/t:发布交换机为ClickOnce申请只有,它不适用于Web项目。因此,错误说它是不可发布的。 :)

+3

这不是一个答案。 – Gusdor 2015-11-23 11:00:52

+0

@Gusdor这是对OP的回答,因为它最初问为什么有一个错误说该解决方案是'unpublishable'。 – 2016-09-13 13:40:40

相关问题