类型“...”是不明确的:它可能来自程序集“...”或来自程序集“...”。请

The type "..." is ambiguous: it could come from assembly "..." or from assembly "...". Please

我正在 Visual Studio 2013 年开发 Web 应用程序,我遇到了下一个问题:

The type 'AddressMaintenance.App_Code.DAL.DataSetTableAdapters.VALUESTableAdapter' is ambiguous: it could come from assembly 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\rootbb176a\b43c95ba\App_Code.xtamkrzu.DLL' or from assembly 'C:\inetpub\wwwroot\AddressMaintenance\bin\AddressMaintenance.DLL'. Please specify the assembly explicitly in the type name.

我已经阅读了互联网和其他用户的问题,但没有发现错误。 我还尝试 运行 IIS7 上的应用程序(不是在我正在开发 Web 的计算机上),我得到了同样的错误。

导致应用程序崩溃的代码是:

<asp:ObjectDataSource
    ID="ODS_GetUsers"
    runat="server"
    SelectMethod="getUsers"
    TypeName="AddressMaintenance.App_Code.DAL.DataSetTableAdapters.USERSTableAdapter">
    <SelectParameters>
        <asp:Parameter DefaultValue="Active" Name="value_type" Type="String" />
    </SelectParameters>
</asp:ObjectDataSource>

提前谢谢你。

我在这里找到了解决方案http://vishaljoshi.blogspot.co.uk/2009/07/appcode-folder-doesnt-work-with-web.html

我将 App_Code 文件夹重命名为另一个文件夹。

谢谢。

当您在一个文件夹中创建 class 然后将其移动到另一个文件夹时,可能会发生这种情况。这发生在我身上。我在 Web 应用程序项目的根文件夹中创建了几个 class 文件,然后将它们移动到 App_Code 文件夹中。这造成了 OP 中描述的相同问题。
解决办法是新建一个文件夹,把有问题的文件复制到里面,然后删除原来的文件夹。重建你的项目,一切都应该和世界一样。