2013-05-18 1 views
6

Я использую Visual Studio 2010 для разработки веб-страниц, и я использовал слойКак указать идентификатор сборки в имени типа?

программирования, я использую gidview и ObjectDataSource, но я получаю эту Exeption:

"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> 

и это файл search.cs в папке БАЛ в App_Code:

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; 
     } 
    } 

В чем проблема?

ответ

2

Это происходит, когда в проекте есть два класса с таким же именем, как правило, из-за ошибки копирования и вставки. Можете ли вы проверить, есть ли у вас какой-либо другой класс с именем view1 в другом месте?

Если это не проблема, попробуйте очистить ваши временные веб-файлы, как показано здесь: Clearing out temporary asp.net files

+0

Благодарим вас за ответ, но у меня нет другого класса с именем view1 во всем моем решении !! –

+0

Вы пытались очистить временные веб-файлы? – Augusto

10

Попробуйте переместить Search.cs файл из папки App_Code и посмотреть, если он работает. У меня была такая же проблема, и я ее переделал, и она начала работать.

+0

Работал для меня тоже. Интересно, почему. – RazvanR

+0

Решил мою проблему –

3

У меня была такая же ошибка. Я создал WebUserControl проект с управлением в нем под названием control1. Также у меня был проект Website1, где я использовал свой контроль1 (с использованием события построения проекта для копирования control1 - Website1). Он работал нормально, но затем я скопировал проект Website1 и переименован в проект Website2. На website2 У меня эта ошибка. Чистота, перестройка не решалась. I удалил все файлы в папке Website2 \ bin и построил Website2 проект. Ошибка решена.

+0

Это должен быть ответ. Важное значение имеет понимание проблемы. Но это краткое и простое решение. – KannedFarU

0

Когда вы добавляете ссылку на решение, пожалуйста, сделайте, чтобы свойства файла скопировали на локальный «False». Поэтому он не будет скопирован, когда мы построим решение, и мы не получим ошибку. Меня устраивает. пожалуйста, попробуйте это.

0

Щелкните правой кнопкой мыши свойство веб-сайта/веб-приложения и задайте поле «Название сборки» с указанным именем.

Например: Если приложение имеет имя XYZ и использует имя пространства имен как companyname.dept.XYZ, то приложение может иметь две отдельные DLL. XYZ.dll и companyname.dept.XYZ.dll, которые могут вызвать конфликты.