1

これが実際にはコーディングの質問ではない場合は申し訳ありません (私のコードが問題を引き起こしているかどうかによって異なります)。

この質問を見たことがあります:断続的な「オブジェクト参照がオブジェクトのインスタンスに設定されていません」を追跡しています。ビルド時のエラー

しかし、それはあまり役に立ちませんでした (ただし、コメントを読むと、しばらくは役に立ったと思っていたことがわかります)。

Web サイトを公開しようとすると、ファイルまたは行の参照がないというエラーが表示されることがあります。

Pre-compiling Web Site

Building directory '/App_Code/'.
Building directory '/'.: Publication (web): Object reference not set to an instance of an object.

Pre-compilation Complete
------ Skipped Publish: Project X:\, Configuration: Debug Any CPU ------

「オブジェクト参照がオブジェクトのインスタンスに設定されていません」の通常の原因は知っていますが、これは少し違うようです。実行時エラーではないでしょうか? ビルドエラーではありませんか?

奇妙なのは、一見ランダムに発生することです (約 25% ~ 33% の確率で)。私はそれを公開しようとして失敗させることができます。その後、何も変更せずにすぐに再試行すると、正常に機能します。

サイトのすべてのページからアクセスできるように、一部の関数 (VB.net btw) を App_Code フォルダーの新しいファイルに移動した後、このエラーが発生し始めました。

さらに情報が必要な場合は、お知らせください。

ありがとう、

編集: さらに調査した結果、Web サイト内のファイルへの変更を保存してから数秒以内に Web サイトを公開しようとした場合にのみ発生するようです。何が原因でしょうか?

4

4 に答える 4

3

同じエラーが発生しました。既にビンにある Web サイトのカスタム コントロールの dll を削除してから、Web サイトを公開し、成功しました。

于 2012-11-29T05:28:36.420 に答える
0

Windows フォーム プロジェクトでも同様の問題が発生しました。

Windows フォームでカスタム コントロールを移動しようとしてフォームを保存しようとすると、VS2010 は「オブジェクトがオブジェクトのインスタンスに設定されていません」というメッセージを返します。

エラーは、継承したコードの抽象化レイヤーの奥深くにあるのではないかと疑っていましたが、コードのすべての行を確認しないと、どこまで深くなるかわかりませんでした。

この問題に対する私の解決策はこれです。

  1. Visual Studio 2010 の別のインスタンスを開きます
  2. メニュー: デバッグ | プロセスにアタッチ..
  3. 「devenv.exe xxx YourApplicationName...」を検索して選択します
  4. 「添付」をクリック
  5. メニュー: デバッグ | 例外..
  6. スローされた列のすべてのボックスにチェックを入れてから、「OK」

VS2010 の 2 番目のインスタンスは、すべてのカスタム コントロールを含め、最初のインスタンスをデバッグしていません。

VS2010 の最初のインスタンスに戻り、最初にエラーを引き起こしたアクションを繰り返します。VS2010 の 2 番目のインスタンスは、エラーのあるコード行で中断します。

于 2012-10-03T04:35:31.267 に答える
0

プロジェクトにカスタム/ユーザーコントロールがある場合、それらは実際には設計時に実行されており、オブジェクト参照エラーが発生する可能性があります。これは、ビルド中にも発生する可能性があります。その場合、何もないプロパティが参照されており、エラーがスローされます。

于 2012-09-13T21:57:57.757 に答える
-1

vs2012にバグがあるこのリンクを見たいと思うかもしれません

https://connect.microsoft.com/VisualStudio/feedback/details/749901/error-when-i-click-publish-object-reference-not-set-to-an-instance-of-an-object

于 2014-07-04T13:15:05.327 に答える