Ошибки SubSonic Schema - PullRequest
0 голосов
/ 23 мая 2009

Я использую VS2008 в .net 3.5 и пытаюсь запустить SubSonic 2.2. Моя база данных называется Test, таблица в БД называется TestTable. Он запускается на SQL Server 2005. Я получаю следующие «предупреждения»:

Не удалось найти информацию о схеме для элемента SubSonicService.

Не удалось найти информацию о схеме для атрибута defaultProvider.

Не удалось найти информацию о схеме для элемента «поставщики».

Не удалось найти информацию о схеме для элемента 'clear'.

Не удалось найти информацию о схеме для элемента 'add'.

Не удалось найти информацию о схеме для атрибута 'name'.

Не удалось найти информацию о схеме для атрибута 'type'.

Не удалось найти информацию о схеме для атрибута 'connectionStringName'.

Не удалось найти информацию о схеме для атрибута «generateNameSpace».

Проблема в том, что пространство имен не генерируется, поэтому я не могу заставить работать много. Строка «SubSonic.Generated.Tables» в интеллигенции выведет имя моей таблицы, так что я знаю, что она может соединиться, и она, очевидно, делает что-то. Но я не могу ссылаться на свои таблицы как на классы. Ниже я включил раздел web.config, на который ссылается «Предупреждения».

<SubSonicService defaultProvider="GeekPower">
    <providers>
      <clear/>
      <add name="GeekPower" type="SubSonic.SqlDataProvider, SubSonic" connectionStringName="GeekPower" generatedNameSpace="GeekPower" />
    </providers>    
  </SubSonicService>

Любая помощь будет оценена. Я искал часы, но никаких исправлений, которые я нашел, не нашел.

Спасибо!

Ответы [ 5 ]

0 голосов
/ 28 января 2010

Хм. Извините, что снова открыли это, ребята, но я думаю, что мы можем сделать это, и, похоже, оно еще не было прибито.

У меня точно такая же проблема с предупреждениями, и почти такая же конфигурация. Мой DAL работает отлично, строит, в общих чертах нет ничего плохого, но я получаю предупреждения в каждом проекте, для которого я когда-либо использовал SubSonic. Это раздражение, ничего более, но раздражение, от которого я бы хотел избавиться.

Если я добавлю

<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">

или v3.5, в конфиг, как предложено, я просто получаю дополнительные сообщения

Сообщение 1 Не удалось найти информацию о схеме для элемента 'http://schemas.microsoft.com/.NetConfiguration/v2.0:configuration'

или аналогичный, так что это не проблема. По сути, это не файл конфигурации, а только раздел SubSonicService.

Исходные сообщения кажутся разумными - должен быть какой-то файл (XML Schema?), Который сообщает VS теги, которые разрешены в разделе SubSonicService, и, вероятно, также даст нам столь необходимый смысл информации. Этот файл отсутствует. Это просто случай "не может быть обеспокоен"? (Роб? Между прочим, не хулиганство, мы все были там!) Если так, может кто-нибудь указать мне на достаточно простой набор инструкций о том, как создать файл и применить его, и я сделаю это и поделюсь это.

0 голосов
/ 10 июня 2009

Эти предупреждения вызваны тем, что XML не распознает конфигурацию, как говорил Джейсон. Вы можете игнорировать их - или вы можете установить конфигурацию на .NetConfiguration / v3.5

0 голосов
/ 23 мая 2009

Возможно, вы захотите увидеть:

Особенно, если вы только начинаете.

Удачи!

0 голосов
/ 23 мая 2009

Вы действительно сгенерировали классы с помощью программы sonic.exe? Это создаст файлы .cs, которые вы затем импортируете в проект. Чтобы избавиться от предупреждений, добавьте это в начало вашего .config:

<?xml version="1.0" encoding="UTF-8"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
  <configSections>
    <section name="SubSonicService" type="SubSonic.SubSonicSection, SubSonic" requirePermission="false" />
  </configSections>
</configuration>
0 голосов
/ 23 мая 2009

У вас есть какие-либо классы в проекте, которые создают конфликт пространства имен с генерирующими классами? Попробуйте восстановить с использованием другого пространства имен, например GeekPower.Foo.

...