VisualStudio2010に統合されたWeb展開は非常に優れています。ターゲットIISマシンでMSDeployを使用して展開できるパッケージを作成できます。問題は、このパッケージが、MSDeployのインストール時にIISからの「アプリケーションのインポート」を使用して自分でインストールするクライアントに再配布されることです。
作成されるデフォルトのパッケージには、常に開発マシンからのフルパス「D:\ Dev \ XXX \ obj \ Debug \ Package\PackageTmp」がソースマニフェストファイルに含まれています。もちろん、このように設計されているため、インストールを妨げることはありませんが、インポートダイアログでは見苦しく、クライアントにとっては意味がありません。さらに悪いことに、彼はそれらのパスが何であるか疑問に思うでしょう、そしてそれはかなり混乱しているように見えます。
.csprojファイルをカスタマイズすることで(パッケージ作成タスクで使用されるMSBuildプロパティを追加することで)、パッケージにパラメーターを追加することができました。しかし、私は午後のほとんどを2600行の長さのWeb.Publishing.targetsで過ごし、どのパラメーターが「開発パス」の動作に影響を与えたかを理解しようとしましたが、無駄でした。また、展開後にsetAclを使用して特定のフォルダーのセキュリティをカスタマイズしようとしましたが、MSBuildでこれを行うには、相対パスを使用する必要がありました...最初の問題を解決するかどうかは問題ではありません。
生成されたアーカイブは作成後に変更できますが、MSBuildを使用してすべてを自動化することをお勧めします。誰かがそれを行う方法を知っていますか?