7

当我在 VS 2010 中创建一个新的网站项目(不是 Web 应用程序)时,它似乎已经引用了一些 dll。如果我尝试添加 System、System.Core、System.Data,则会收到错误消息,指出“网站已经在引用程序集 'System.Core'”等。当我尝试使用这些程序集之一的数据类型时,它似乎被识别了,我得到了智能感知和所有。但是当我打开网站属性中的引用选项卡时,我看不到这些 dll 添加到 Web.Config 中。这些“默认”引用是否被添加到任何新的秘密位置?

背景资料:

我试图弄清楚这些引用的主要原因是我已经将一个项目从 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' 所需的参考。将一个添加到您的项目中。

这是 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引用作为.refresh文件存储在bin文件夹中。我在上述任何地方都找不到这些 dll。

4

1 回答 1

14

我遇到了完全相同的问题,最终我发现我的原因是我将一个 DLL 复制到了项目的 BIN 文件夹中。这样做会导致 Visual Studio 考虑引用的 DLL。如果将 DLL 移到该文件夹​​之外,您将能够从 Visual Studio 中添加引用。

于 2012-11-20T22:10:48.497 回答