7

我正在使用 Visual Studio 2010 设计网页,并且我使用了图层

编程,我使用的是 gidview 和 objectdatasource,但我得到了这个例外:

"The type 'WebApplication4.view1' is ambiguous: it could come from assembly   
 'C:\Users\EHSAN\AppData\Local\Temp\Temporary ASP.NET 
  Files\root\d04444bc\d654bde6\App_Code.i0fp6yrj.DLL' or from assembly 
  'C:\Users\EHSAN\Documents\Visual Studio 
  2010\Projects\WebApplication4\WebApplication4\bin\WebApplication4.DLL'. Please 
  specify the assembly explicitly in the type name."

我把我的代码放在这里:

这是我的 web.aspx:

<asp:ObjectDataSource ID="ObjectDataSource1" Runat="server" TypeName="WebApplication4.view1"
        SelectMethod="Search" OldValuesParameterFormatString="original_{0}" >

      </asp:ObjectDataSource>

这是 APP_Code 中 BAL 文件夹中的 search.cs 文件:

namespace WebApplication4
{
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Linq;
    using System.Data;
 public class view1 : System.Web.UI.Page
    {
        public view1()
        { }

        public List<person> Search()
        {
            List<person> persons = new List<person>();
            DataSet ds = PersonsDB.Search();

            foreach (DataRow row in ds.Tables[0].Rows)
            {

                persons.Add(new person((String)row["id"], (String)row["nam"], (String)row["family"], (String)row["namepedar"], (String)row["shshenas"], (String)row["codemelli"]));
            }


            return persons;
        }
    }

问题出在哪里?

4

6 回答 6

12

尝试将 Search.cs 文件移出 App_Code 文件夹,看看它是否有效。我有同样的问题,我把它移了出来,它开始工作了。

于 2014-05-21T01:14:00.630 回答
3

我有同样的错误。我创建了WebUserControl项目,其中包含名为control1的控件。我也有项目Website1我使用了我的 control1(使用项目构建事件将control1复制到Website1)。它工作得很好,但后来我复制了我的Website1项目并重命名为Website2项目。在website2我得到了这个错误。清理,重建没有解决。我删除了 Website2\bin 文件夹中的所有文件并构建了Website2项目。错误已解决。

于 2014-10-14T08:55:21.690 回答
2

当项目中有两个同名的类时会发生这种情况,通常是由于复制和粘贴错误。你能检查一下你是否在其他地方命名了任何其他类view1吗?

如果这不是问题,请尝试清除您的临时 Web 文件,如下所示: 清除临时 asp.net 文件

于 2013-05-18T08:32:09.637 回答
0

当您添加对解决方案的引用时,请将该文件属性复制到本地以“False”。因此,当我们构建解决方案时,它不会被复制,也不会出现错误。这个对我有用。请试试这个。

于 2015-06-11T06:58:15.417 回答
0

在我的情况下,我有一个共享相同母版页的父子网站。当我错误地将子网站的 DLL 文件的副本放在父网站的 bin 文件夹中时,出现此错误。因此,确实需要确保没有多余的 DLL 文件不必要地闲置。

于 2021-08-20T07:22:20.713 回答
0

右键单击网站/Web 应用程序属性并使用预期名称设置程序集名称字段。

例如:如果应用程序被命名为XYZ并使用命名空间命名,companyname.dept.XYZ那么应用程序可能有 2 个单独的 dll。XYZ.dll并且companyname.dept.XYZ.dll可能导致冲突。

于 2017-08-02T14:17:22.277 回答