簡體   English   中英

使用MSBuild預編譯ASP.NET Web應用程序

[英]Precompiling ASP.NET Web application with MSBuild

我在Visual Studio 2008中有一個ac#Web應用程序項目,我希望對其進行預編譯以進行部署。 在研究了各種選擇之后,似乎所有這些都有一些問題-也許有人可以對此發表想法:

該項目受源代碼控制,並且還包含許多文件,這些文件被排除在項目之外。

Web部署項目不起作用。 如果我嘗試使用wdp進行編譯,aspnet_compiler.exe還將嘗試編譯所有排除的文件。 我不想在msbuild腳本中維護排除列表。

有沒有辦法告訴msbuild僅使用csproj文件中指定的文件/項目,將它們復制到中間文件夾,並從此副本構建不包含任何排除文件的aspnet_complier.exe?

該網站還依賴於其他3個csproj文件。

謝謝!

您可以使msbuild任務隱藏(attrib + h)或刪除不需要的文件...

  <PropertyGroup>
    <MyLogFile>kaantologi.txt</MyLogFile>
    <MyWebSourcePath>c:\sourecontrol\myweb</MyWebSourcePath>
    <!-- *.tmp and .exclude and etc: -->
    <MyCleaup>
      attrib $(MyWebSourcePath)\*.tmp -r -s -h -a /s >>$(MyLogFile)
      del $(MyWebSourcePath)\*.tmp /q /s >>$(MyLogFile)
      attrib $(MyWebSourcePath)\*.exclude +h
    </MyCleaup>
  </PropertyGroup>
  <Target Name="MyClean">
    <Exec Command="$(MyCleaup)" />
  </Target>
  <Target Name="MyFinal">
    <Exec Command="attrib $(MyWebSourcePath)\*.exclude -h"/>
  </Target>
  <Target Name="MyBuild">
    <CallTarget Targets="MyClean" />
    <CallTarget Targets="MyCompile" /><!--...-->
    <CallTarget Targets="MyFinal" />
  </Target>

或者,您可以使用解決方案文件(.sln)並在其中放置csproj並進行構建。

PS。 並非完全是您的問題,但這可能會有所幫助(它適用於網站,而不適用於Web應用程序):

無法使用cc.net使用msbuild或aspnet_compiler發布

有什么理由不能將aspnet_compiler.exe作為部署腳本的一部分運行?
如果不使用文件,為什么文件在那里?

建議:在部署時運行編譯器或刪除文件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM