2009-04-29 30 views
6

私は中程度のサイズのWebFormsプロジェクトで作業しています。ここでの管理の特殊性のために、テストするためにサイトをリモートサーバーにアップロードする必要があります(ローカルホストテストなし)。私はVisual Studio 2008で 'Publish'コマンドを使用しています。時には、それも機能します。ほとんどの時間、私は説明できないことに、左下隅に「パブリッシュできませんでした」という詳細は表示されません。Visual Studio 'Publish'コマンドが失敗します。

グーグルの記事やフォーラム投稿私は、公開操作の対象となるローカルフォルダを全員が読み書きできるようにすることを提案しました。助けにならない。

VS2008でパブリッシュが失敗する理由について詳しく知る方法はありますか?そうでない場合は、これらの展開を行うより良い方法がありますか?実際にデバッグするよりも、ビルドやWebサーバーへのプッシュにもっと時間を費やしています。

+0

これは愚かなので、答えとして投稿されているとは思いませんが、フォルダを開いてファイルをクリックすると、強調表示されたファイルを削除できないため、公開が失敗します。 –

答えて

3

マークアップ(!)でエラーが発生した場合は、私たちに起こります。悪いことは、VSは単にエラーを飲み込み、あなたに失敗を伝えることです。

私が提案するのは、MSBuildを使用してコマンドラインからパブリッシュを実行することです。それはそれほど単純ではありませんが、それがうまくいきます(あなたがそれに入ると)。

1

ほとんどがWebフォームで動作します。毎日この問題が発生します。 置き換えようとしているファイルを削除できないと、パブリッシュが失敗するようです。ファイルを開いていなくても、それは失敗することがあります。理由は分かりません。 VSの公開は非常に頻繁に失敗するだけでなく、それは辛いほど遅いです。 空のローカルディレクトリに公開し、別のFTPクライアントを使用してファイルをアップロードするだけです。それはより多くの仕事ですが、働きます。

1

これはおそらくあなたのケースではありませんが、私はウェブサイトを公開しているときにこれが起こっているのを見ました。ファイルapp_offline.htmがプロジェクトから除外されていない場合(このファイルを使用する場合)、パブリッシュは失敗します。

0

同様の問題で約30分間苦労した後、何が原因でVSが閉鎖されたのか分かりませんでした。うまく働き始めました。理由は分かりませんが、それは機能しました。

2

私は、これらの特定のパブリッシュの失敗の理由が「既存のファイルを削除する」オプションがチェックされていることを発見しました。 Windows Vista上で管理者以外のアカウントでVisual Studio 2008を使用すると、既存のファイルを削除しようとするとアクセス許可エラーが発生する可能性があります。 Visual Studioが削除するアクセス権が不十分だったファイルに出会った後、パブリッシュは自動的に失敗します。 Vidual Studioの外で手動でファイルを削除すると、パブリッシュは正常に機能しました。

この問題はWindows 7では発生していません。私はWindows 7のUACの変更が​​問題を解決したと仮定します。

1

同じことが私に起こりました。私がやったのは、プロジェクトには含まれていなかったイメージファイルと、使用されなかったイメージを削除することでした。

4

出力ウィンドウを確認する価値があります。 VSの外の画像を削除したため、VSが画像を見つけることができないと不平を言いましたが、この情報は出力ウィンドウにのみ表示されていたため、公開ができませんでした。

は、詳細については、このリンクを参照してください: http://ericfickes.com/2009/08/find-out-why-visual-studios-publish-fails/

+0

偉大な、私はここに私の答えを見つけた! –

0

あなたは常にはあなたがに公開されているマシン上で実行されているIISのインスタンスを停止する必要があります。 Googleの単語 "iisreset"。DiscountAspやArvixeのような他のホスティングプロバイダは、あなたのIIS上であなたのアプリケーションプールをリモートで "停止"と "開始"するためのツールを提供しています。これは、IISが「in use」というファイルをロックしている可能性があり、パブリッシュが上書きしようとすると失敗する可能性があるためです。公開が完了したら、IISを再起動します(または、サードパーティのホスティングプロバイダを使用している場合は、Webツールから「スタート」を押してください)。

それ以外の場合は、「出力」ウィンドウ(Visual Studioの下部にある「エラーリスト」の右側のタブ)を確認します。失敗した公開後にそのすべてをスクロールし、「追加できません」と表示されているものを探します。同じパブリッシュで同じ「Unable to add」エラーが表示された場合は、そのファイルを手動で削除してもう一度パブリッシュしてください。

0

ProjectName.Publish.xmlファイルが読み取り専用であったときにこれを取得しました。一度ソース管理からファイルをチェックしたら、もはやエラーが出なくなり、公開することができました。

0

このスレッドに追加するだけで、奇妙な理由から、Mercurialファイルのみがサーバーに公開されていることがわかりました。他のものはすべてコピーされていませんでした。

もう1つの奇妙なことは、デバッグコンフィギュレーションだけが利用可能であったことです。 リリースはどこにも見られませんでした。

はSOの周りに他のスレッドを読んだ後、私はVS 2010および2012のための多くが、2008年

修正と同じ問題をカバーするにはあまりありませんがあったことが判明し、私が見つけ、[を削除することでしたソリューション]suoファイルを開き、パブリッシュを試みます。それは完了するのに時間がかかりましたが、仕事をするように見えました。

関連する問題