1

SQL (ORM システムの一種) のデータにアクセスするためのクラスを含む dll が、using ステートメントを使用して .cs ページに含まれています。新しいdllをビンにアップロードしましたが、何らかの理由でdll(新しいフィールドの定義を含む)がcsコードに表示されません。dll のヘルパー クラス (現在は dll にコンパイルされています) に新しいフィールドが表示されません。

更新して再構築したクラスが表示されない理由を dll または cs でトラブルシューティングする方法はありますか? クラスはローカルでも別のサーバーでも問題なく動作しますが、私の製品サーバーでは爆撃します。

これは、Sitefinity 3.7 と Subsonic/Substage モジュールを使用しています。

4

8 に答える 8

0

別の.net開発者が私がこれを理解するのを手伝ってくれました。文字列へのキャストが必要な場所に不正なToString()があり、nullを許可していました。私のdllは結局大丈夫でした。皆さんの提案に感謝します、私はたくさんのことを学びました。

于 2011-10-19T23:13:15.593 に答える
0

更新された DLL のバージョン番号が異なる場合は、bin フォルダー内の DLL への参照を削除して再度追加することにより、プロジェクト参照を更新する必要がある場合があります。

DLL を生成するプロジェクトが同じソリューションに存在する場合、プロジェクト参照 (更新される) ではなく、ファイル参照 (更新されない可能性があります) を作成する際に問題が発生する可能性があります。

于 2011-08-31T18:32:25.047 に答える
0

dll が GAC の本番サービスに登録されていないことを確認してください。

GAC からアセンブリを抽出する方法は?

于 2011-08-31T17:34:16.730 に答える
0

プロジェクトに DLL のローカル コピーがあり、更新される DLL が別の場所にある可能性があります。

于 2011-08-31T17:34:44.017 に答える
0

fuslog.exe は、アセンブリ (dll) のバインドの問題をトラブルシューティングする際の優れたツールです。

http://msdn.microsoft.com/en-us/library/e74a18c4.aspx

于 2011-08-31T18:38:28.393 に答える
0

これはよく知られているように聞こえます...解決されるパスに別の dll があるかどうかを確認しましたか? ダイナミック リンク ライブラリの検索順序

于 2011-08-31T17:31:30.613 に答える
0

Visual Studio を使用している場合は、まず 2 つのことを確認してください: csproj.user および .suo ファイルを削除してみてください (Visual Studio がそれらを再作成します)。

2 つ目は、プロジェクトが実行されているフレームワークのバージョンと、dll がコンパイルされたフレームワークのバージョンです。

プロジェクトで .NET 4.0 を使用しているが、DLL が 2.0 または類似のものを使用してビルドされている場合、それを使用できない可能性があります。追加することはできますが、読み込まれません。

于 2011-08-31T17:31:29.040 に答える
0

ビルドする dll は 32 ビット (X86) dll であると考える傾向があります。「任意のCPU」をターゲットとするプロジェクトからそれを消費しようとしているところです。

本番サーバーは 64 ビットですか? 答えが「はい」の場合は、プロジェクト プロパティ => [ビルド] タブ (dll を理解していない cs コードのプロジェクト) に移動し、プラットフォーム ターゲットを X86 として設定します。

于 2011-08-31T17:52:59.283 に答える