2

古い Visual Studio 2005 Web サイト (Web アプリケーション プロジェクトではない) を使用しています。現在の目標は、自動ビルドの一部として手動プロセスを複製することです。現在、プロジェクトをアップグレードしたり、Web デプロイメント プロジェクトを作成したり、Web アプリケーション プロジェクトに変更したりすることはできません。

現在のプロセスの最も単純な見方は、開発者が自分のボックスでソリューションを構築し、Web サイトを自分のボックスの場所に公開し、圧縮してリリース チームに渡すというものです。

現時点では、このプロセスの出力を変更するつもりはありません。msbuild スクリプトの一部として自動化するだけです。

これまでに得た最も近い方法は、次のように AspNetCompiler タスクを使用することです。

<AspNetCompiler
  PhysicalPath="website\"
  TargetPath="output\"
  VirtualPath="/"
  Force="true"
  Debug="true"
  />

ただし、これにより、次のようないくつかのエラーが発生しますerror CS0246: The type or namespace name 'FOO' could not be found (are you missing a using directive or an assembly reference?)


編集:

これについては前に言及する必要がありましたが、再構築ターゲットを使用してソリューションで msbuild を実行すると、同じ結果が得られます。

4

3 に答える 3

0

エラーは実際には、MSBuild の問題ではなく、プロジェクトがコンパイルされないという事実に関連しているように見えます。

それか、より低いバージョンのコンパイラを使用しています (通常、明らかにそこにある参照について再生を開始するときです)。

プロジェクトで使用しているバージョンと一致する適切なバージョンの MSBuild を使用していることを確認してください。

于 2011-09-16T23:48:35.217 に答える
0

以前、このシナリオで aspnet_compiler と aspnet_merge を組み合わせて使用​​する方法について説明しました。

于 2011-08-30T18:01:00.047 に答える
0

むしろ MSBuild.exe 自体を使用します。(1) パブリッシュ ディレクトリを目的のフォルダーに設定してビルドおよびパブリッシュするか、(2) ビルドおよび xcopy bin フォルダー、aspx/asmx/svc ファイルおよび構成 (Web サイトが次の場所に構成されていると仮定します)宛先マシンの IIS)。

于 2011-08-30T17:01:42.930 に答える