2

Visual Studio 2008 に、展開用にプリコンパイルしたい ac# Web アプリケーション プロジェクトがあります。さまざまなオプションを見た後、それらすべてにいくつかの問題があるようです-おそらく誰かがこれについて考えを与えることができます:

プロジェクトはソース管理下にあり、プロジェクトから除外された多くのファイルも含まれています。

Web 配置プロジェクトが機能しません。wdp を使用してコンパイルしようとすると、aspnet_compiler.exe も除外されたすべてのファイルをコンパイルしようとします。msbuild スクリプトで除外リストを保持したくありません。

csproj ファイルで指定されているファイル/アイテムのみを使用するように msbuild に指示し、これらを中間フォルダーにコピーし、除外されたファイルを含まないこのコピーから aspnet_complier.exe をビルドする方法はありますか?

Web サイトには、他の 3 つの csproj ファイルへの依存関係があります。

ありがとう!

4

2 に答える 2

1

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 アプリケーションではなく Web サイト用です):

cc.net を使用して msbuild または aspnet_compiler を使用して発行できない

于 2009-12-09T14:04:17.537 に答える
0

代わりに、展開スクリプトの一部として aspnet_compiler.exe を実行できない理由はありますか?
使用されていないファイルがあるのはなぜですか?

提案: 展開時にコンパイラを実行するか、ファイルを削除してください

于 2009-12-04T06:00:04.547 に答える