0

現在、10 個の .dll ファイルを参照する 1 つのソリューションがあります。これらの .dll ファイルはすべて、共有の .dll ファイルを参照します。

今日、共有.dllの再コンパイルの直後に、デバッグ中に「モジュールがビルドされたときとはソースファイルが異なります」というエラーが発生し始めました。

私はいつものすべてを試しました。bin および object フォルダーを削除しました。再コンパイルしました。Visual Studio のすべてのインスタンスを閉じ、すべて閉じた後に再起動しました。マシンを再起動しました。何も修正されていないようでした。

4

6 に答える 6

2

10 個の DLL の 1 つが、コンパイルしたものではなく、共有 DLL の別のコピーを参照していると思います。

すべてのソースがあるので、すべてのプロジェクトを同じソリューションに配置し、DLL が共有 DLL のprojectを参照するようにします。これで問題は解決します。

于 2012-04-19T18:45:51.313 に答える
1

それは私にも起こりました。プロジェクトごとにゼロから再コンパイルして修正したら(VSと同じ順序で)。

別の時間これは役に立ちませんでした。その時何をしたか思い出せない。

VSのバグだと思います。VS2008 を実行していることに気付きました。アップグレードすると問題が解決する可能性があります (想定されるバグは修正されている可能性があります)。また、VS2010 は VS2008 よりも使いやすいため、最新の状態を維持するための独自の領域になる可能性があります。評価用の VS11 をダウンロードして、そこで試してみませんか。

すべてのプロジェクトを 1 つのソリューションに移動し、それらを簡単かつ正しい方法で参照します。コンパイル。これで、適切な DLL がどこにでもあり、より多様なソリューションに戻ることができます。

MSBuild を使用することもできます。VS には既にプロジェクトがあるので簡単です。MSBuild (VS 自体が使用する) によってビルドされたら、おそらく VS で再度コンパイルする必要があります。

最後に、nAnt でビルドを試すことができます。コンパイルしたら、おそらく VS で再度コンパイルできます。

幸運を。そこに行ったことがある。最悪だ。

于 2012-04-20T22:00:19.393 に答える
0

プロジェクトでは、プロジェクトではなく、いくつかのDLLを直接参照していると思います。つまり、クリーンアップして再構築しても、同じdll が参照のように使用されます。多くの場合、これは問題になるため、参考文献を確認することをお勧めします。

于 2012-04-19T18:45:10.363 に答える
0

すべてのソリューションの出力フォルダーにまたがる共有 .dll の最終更新日を、プライマリ ソリューションの出力フォルダーに格納されたファイルと比較すると、作成したばかりのファイルと同じではないことに気付きました。 .

これは私には意味がなかったので、単に新しいファイルを出力フォルダーにコピーしました。これで問題は解決しませんでした。その後のビルドでは、古いバージョンが再び出力フォルダーに配置され、デバッグ中にすぐにエラーが発生しました...

コンパイル中に、古いバージョンが参照されている他の .dll の 1 つと共にプルされていました。1 つのファイルのみが使用されるように、取り込まれたファイルの名前で行われるある種のチェックが明らかにありますが、最新のバージョン番号のチェックは行われません。

プライマリ ソリューションから共有 .dll への参照を作成することで、実際に問題を解決することができました。 直接参照は、参照によって参照されるファイル (および参照されている .dll と同じ出力フォルダーに既にコピーされている) の前に明らかに (またはおそらく) 取り込まれるため、最新のファイルが最初に正常に取り込まれます。

明確さが必要な場合は、お知らせください。

于 2012-04-20T14:16:04.527 に答える
0

[編集] これは asp.net であると仮定しましたが、無視してください。[/編集]

一時的な .NET フォルダーをすべて削除しましたか?

次のいずれか:

C:\Windows\Microsoft.NET\Framework[お使いのバージョン]\Temporary ASP.NET Files

また

C:\Windows\Microsoft.NET\Framework64[お使いのバージョン]\Temporary ASP.NET Files

于 2012-04-19T18:49:33.633 に答える