当我在VS 2010中创建一个新的网站项目(而不是Web应用程序)时,它似乎已经引用了一些dll。如果我尝试添加System,System.Core,System.Data,我会收到错误,指出“网站已经引用了程序集'System.Core'”等。当我尝试使用其中一个程序集中的数据类型时,它似乎被认可,我得到intellisense和所有。但我无法在Web.Config中看到这些dll,也没有在网站属性中打开引用标签。是否有任何新的秘密地方将这些“默认”引用添加到?
背景资料:
我试图找出这些引用的主要原因是我已经将一个项目从VS 2008迁移到了2010,并且我遇到了需要引用System.Data.DatasetExtensions的构建错误。但是,引用存在于web.config中,我还可以在项目属性中看到引用。我还检查了它与构建错误具有相同的版本和相同的公钥令牌。如果构建错误如下: 错误BC30007:程序集'System.Data.DataSetExtensions,Version = 3.5.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'包含基类'System.Data.TypedTableBase`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。
答案 0 :(得分:10)
我遇到了完全相同的问题,我最终发现原因是我将DLL复制到项目的BIN文件夹中。这样做会导致Visual Studio考虑引用的DLL。如果将DLL移到该文件夹之外,您就可以在Visual Studio中添加引用。