7

VS 2010 で新しい Web サイト プロジェクト (Web アプリケーションではない) を作成すると、いくつかの dll が既に参照されているようです。System、System.Core、System.Data を追加しようとすると、「Web サイトは既にアセンブリ 'System.Core' を参照しています」などのエラーが表示されます。これらのアセンブリのいずれかのデータ型を使用しようとすると、 、認識されているようで、インテリセンスとすべてを取得します。しかし、Web.Config に追加されたこれらの dll が表示されず、Web サイトのプロパティで参照タブを開いても表示されません。これらの「デフォルト」参照が追加されている新しい秘密の場所はありますか?

背景情報:

これらの参照を把握しようとしている主な理由は、プロジェクトを VS 2008 から 2010 に移行したため、System.Data.DatasetExtensions を参照する必要があるというビルド エラーが発生したためです。ただし、参照は web.config に存在し、プロジェクトのプロパティにも参照が表示されます。また、ビルド エラーと同じバージョンと同じ公開キー トークンがあることも確認しました。以下のビルド エラーの場合: エラー BC30007: 基本クラス 'System.Data.TypedTableBase`1' を含むアセンブリ 'System.Data.DataSetExtensions、Version=3.5.0.0、Culture=neutral、PublicKeyToken=b77a5c561934e089' への参照が必要です。プロジェクトに 1 つ追加します。

web.config のリファレンスは次のとおりです。

<?xml version="1.0"?>
<configuration>
    <system.web>
        <compilation debug="false" strict="false" explicit="true">
            <assemblies>
                <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            </assemblies>
        </compilation>
        <authentication mode="Windows"/>
    </system.web>
</configuration>

誰かがこれを理解するのを手伝ってくれれば本当に感謝しています。

ありがとう。

注: 1. Web アプリケーション プロジェクトに移行するオプションがありません。2. VS 2008 では、GAC からの参照は Web.Config に格納され、プロジェクト参照はソリューション ファイルに格納され、他の dll 参照は bin フォルダーに .refresh ファイルとして格納されていました。上記の場所のいずれにもこれらの dll が見つかりません。

4

1 に答える 1

14

私はまったく同じ問題を抱えていましたが、最終的には、プロジェクトの BIN フォルダーに DLL をコピーしたことが原因であることがわかりました。これを行うと、Visual Studio は DLL が参照されていると見なします。DLL をそのフォルダーの外に移動すると、 Visual Studio 内から参照を追加できるようになります。

于 2012-11-20T22:10:48.497 に答える