質問

中規模のWebFormsプロジェクトに取り組んでいます。ここでの管理の特殊性のため、テストするためにサイトをリモートサーバーにアップロードする必要があります(localhostテストなし)。 Visual Studio 2008で「発行」コマンドを使用しています。場合によっては機能することもあります。ほとんどの場合、「公開に失敗しました」という不可解なメッセージが表示されます。左下隅に、詳細はありません。

私が読んだいくつかのグーグルの記事/フォーラムの投稿では、公開操作のターゲットローカルフォルダーをすべてのユーザーに対して読み取り可能/書き込み可能にすることを提案しました。役に立たない。

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

役に立ちましたか?

解決

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

提案するのは、MSBuildを使用してコマンドラインからパブリッシュを実行することです。簡単なことではありませんが、動作します(一度入れば)。

他のヒント

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

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

これらの特定の公開の失敗の理由は、「既存ファイルの削除」によるものであることを発見しました。チェックされているオプション。 Windows Vistaで非管理アカウントでVisual Studio 2008を使用すると、既存のファイルを削除しようとしたときにアクセス許可エラーが発生する可能性がありました。 Visual Studioが削除するための十分なアクセス権を持っていないファイルに遭遇した後、発行はサイレントに失敗します。 Vidual Studioの外部でファイルが手動で削除されると、公開は正常に機能しました。

Windows 7ではこの問題は発生していません。 Windows 7でのUACの変更により問題が修正されたと思われます。

私は主にWebフォームを使用していますが、この問題は毎日発生しています。 置き換えようとしているファイルの削除に失敗すると、公開が失敗したように思えます。ファイルを開いていなくても、時々失敗します。理由はわかりません。 VSの公開は非常に頻繁に失敗するだけでなく、非常に遅くなります。 空のローカルディレクトリにパブリッシュし、別のFTPクライアントを使用してファイルをアップロードします。作業は増えますが、機能します。

これはおそらくあなたには当てはまりませんが、Webサイトを公開しているときにこれが起こるのを見てきました。 app_offline.htm ファイルが除外されない場合プロジェクト(このファイルを使用する場合)、公開は失敗します。

私にも同じことが起こりました。プロジェクトに含まれていない画像ファイルを含め、使用されていない画像を削除しました。

同様の問題に約30分間苦労した後、何が原因でVSが閉じられ、プロジェクトが再開されたのかについての手がかりがありませんでした。正常に動作を開始しました。理由はわかりませんが、うまくいきました。

公開先のマシンで実行されているIISインスタンスを常に停止する必要があります。 「" iisreset "」という言葉。 DiscountAspやArvixeなどの他のホスティングプロバイダーは、「停止」するツールを提供しています。および「開始」 IISのアプリプールをリモートで。 IISは一部のファイルを" in use "としてロックしている可能性があるため、これは非常に必要です。公開が完了したら、IISを再起動するだけです(または、サードパーティのホスティングプロバイダーを使用している場合は、Webツールから[開始]を押します)。

他のすべてが失敗した場合、「出力」を確認してください;ウィンドウ(Visual Studioの下部にある[エラーリスト]の右側のタブ)。パブリッシュに失敗した後、すべてをスクロールして、「追加できません」というメッセージを探します。同じ「追加できません」が引き続き表示される場合同じ公開でエラーが発生した後、フォルダにftpし、問題のあるファイルを手動で削除して、公開を再試行します。

ProjectName.Publish.xmlファイルが読み取り専用のときにこれを取得しました。ソース管理からファイルをチェックアウトすると、エラーは発生せず、公開できました。

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

別の奇妙なことは、デバッグ構成のみが利用可能であったことです。 リリースはどこにも見当たりませんでした。

S.O。の他のスレッドを読んだ後、VS 2010および2012には多くのスレッドがあることがわかりましたが、2008年の同じ問題をカバーすることはあまりありませんでした。

修正は、 [solution] suo ファイルを削除してから公開を試みることでした。完了するのに長い時間がかかったが、それは仕事をしているように見えた。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top