sqlmetal.exe возвращает Использование универсального типа «System.Data.Linq.Table» требует аргументов 1 типа - PullRequest
1 голос
/ 04 января 2012

Я использую sqlmetal.exr для генерации кода сопоставления для меня. Я вызываю sql metal с помощью.

cd C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin
SqlMetal.exe /server:servername\SQL /database:mydb /code:mycode.cs

Выходные данные представляют собой файл cs, а командная строка говорит:

Microsoft (R) Database Mapping Generator 2008 версии 1.00.30729 для Microsoft (R) .NET Framework версия 3.5 Авторские права (C) Microsoft Корпорация. Все права защищены.

Когда я добавляю файл в свой проект и пытаюсь его создать, я получаю следующую ошибку:

Для использования универсального типа 'System.Data.Linq.Table' требуется 1 тип аргументы

Это в моем файле mycode.cs. Я ссылаюсь на System.Data.Linq и System.Data. Какая ссылка отсутствует, чтобы заставить это работать?

Обновление

Убедитесь, что в вашем GAC есть System.Data.Linq и что сборка версия 3.5.0.0. Также убедитесь, что это версия вашего проекта ссылки.

enter image description here

enter image description here

Дважды проверьте, что целевая структура вашего приложения как-то не имеет был изменен на что-то, кроме 3,5. Возможности Linq To SQL работать только с фреймворком 3.5.

enter image description here

1 Ответ

1 голос
/ 04 января 2012

если проблема не устранена, вот список вещей, которые вы можете попытаться решить:

Несколько вещей, которые нужно проверить / попробовать:

  • Убедитесь, что у вас естьSystem.Data.Linq в вашем GAC и версия сборки 3.5.0.0.Также убедитесь, что это версия, на которую ссылается ваш проект.

  • Когда вы смотрите на ссылки на проект, появляется ли желтое "!"значок рядом со ссылкой?Если это так, то это означает, что версия System.Data.Linq, на которую ссылается ваш проект, не найдена VS.Вы должны попытаться удалить ссылку и добавить новую.

  • Дважды проверьте, что целевая структура вашего приложения не была каким-то образом изменена на что-то кроме 3.5.Функции Linq To SQL работают только с платформой 3.5.

...