2013-10-09 5 views
0

У меня есть открытый VB-класс в корневой папке проекта Contact.vb и еще один класс VB в папке App_Code, называемой Service.vb.VB Class в папке App_Code не может получить доступ к VB-классу в корневой папке

Если я пытаюсь объявить Контактный класс в Service.vb так:

Dim ds As New Contact 

я получаю эту ошибку при компиляции:

Типа «Контакт» не определен.

Я привык к C# кодирования, так что я не очень понимаю, что я здесь отсутствует ...

EDIT # 1:

Вот первая часть Контактного класса , Класс был создан на основе схемы.

'------------------------------------------------------------------------------ 
' <autogenerated> 
'  This code was generated by a tool. 
'  Runtime Version: 1.1.4322.2300 
' 
'  Changes to this file may cause incorrect behavior and will be lost if 
'  the code is regenerated. 
' </autogenerated> 
'------------------------------------------------------------------------------ 

Option Strict Off 
Option Explicit On 

Imports System 
Imports System.Data 
Imports System.Runtime.Serialization 
Imports System.Xml 


<Serializable(), _ 
System.ComponentModel.DesignerCategoryAttribute("code"), _ 
System.Diagnostics.DebuggerStepThrough(), _ 
System.ComponentModel.ToolboxItem(true)> _ 
Public Class Contact 
    Inherits DataSet 

    Private tableContact As ContactDataTable 

EDIT # 2: я, наконец, нашел то, что было неправильно. Если я создам проект в VS, находясь в режиме администратора, он будет успешно создан, но он не сработает, если я не в режиме администратора.

Я не уверен, почему это так, но я думаю, это может быть из-за прав доступа к папке или чего-то подобного.

+0

Включен в проект или находится только в папке? – Plutonix

+0

В проекте. – bale3

+0

Можете ли вы опубликовать первые несколько строк контакта? Папки prj предназначены только для организации больших проектов, форм, классов и т. Д.Они не должны иметь значения, если файл/класс находится в prj – Plutonix

ответ

0

Я наконец выяснил, что случилось. Если я создам проект в VS, находясь в режиме администратора, он будет успешно создан, но он не сработает, если я не в режиме администратора.

Я не уверен, почему это так, но я думаю, это может быть из-за прав доступа к папке или чего-то подобного.

0

Вы уверены, что в вашем классе нет ни одной опечатки? Вы в состоянии построить/Выполнить проект, если вы берете строку:

Dim ds As New Contact 

Я попробовал ваш класс как:

'------------------------------------------------------------------------------ 
' <autogenerated> 
'  This code was generated by a tool. 
'  Runtime Version: 1.1.4322.2300 
' 
'  Changes to this file may cause incorrect behavior and will be lost if 
'  the code is regenerated. 
' </autogenerated> 
'------------------------------------------------------------------------------ 

Option Strict Off 
Option Explicit On 

Imports System 
Imports System.Data 
Imports System.Runtime.Serialization 
Imports System.Xml 


<Serializable(), _ 
System.ComponentModel.DesignerCategoryAttribute("code"), _ 
System.Diagnostics.DebuggerStepThrough(), _ 
System.ComponentModel.ToolboxItem(True)> _ 
Public Class Contact 
    Inherits DataSet 

    'Private tableContact As ContactDataTable 

End Class 

И тогда удалось использовать Dim дц ... линия без каких-либо ошибки.

У меня была аналогичная проблема, перед которой я разобрался, восстановив решение.

Вы пытались закрыть и снова открыть VS?

+0

Нет, нет опечаток, но я попытался скопировать класс Contact в папку App_Code, а затем он сработал. – bale3

+0

Ах, из вашего вопроса я предполагал, что он уже был там :) –

0

Ваш проект - веб-приложение или веб-сайт?

Есть много разницы между поведением папки App_Code в этих двух случаях ...

Если вы используете этот подход в C#, как правило, в vb.net нет никакой разницы.

Другое: в C# пространства имен создаются визуальной студией по умолчанию, в vb.net (если я правильно помню).

Смежные вопросы