Не удалось создать код ошибки при компиляции веб-сайта ASP.NET на новом компьютере
Я переместил свой сайт ASP.NET 4.5 на новый компьютер, скопировав всю папку сайта. Когда я пытаюсь создать сайт на новом компьютере в Visual Studio 2012 (та же версия, что и на первом компьютере), я получаю несколько предупреждений и ошибок.
Ошибка:
Failed to generate code. Exception of type 'System.Data.Design.InternalException' was thrown. C:\Users\admin\Desktop\website_sample\App_Code\DataSet.xsd
Есть 21 предупреждение, все из которых говорят "Невозможно обновить ссылку на автоматическое обновление" для разных файлов DLL.
Когда я пытаюсь запустить страницу default.aspx (отлично работала на первом компьютере), я получаю следующую ошибку для файла App_Code/DataSet.xsd:
Failed to generate code. Exception of type 'System.Data.Design.InternalException' was thrown.
А также ошибка источника:
Line 1: <?xml version="1.0" encoding="utf-8"?>
Line 2: <xs:schema id="DataSet" targetNamespace="http://tempuri.org/DataSet.xsd" xmlns:mstns="http://tempuri.org/DataSet.xsd" xmlns="http://tempuri.org/DataSet.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:msprop="urn:schemas-microsoft-com:xml-msprop" attributeFormDefault="qualified" elementFormDefault="qualified">
Line 3: <xs:annotation>
Я использую MySQL .NET Connector, но я уже установил его на новом компьютере, чтобы убедиться, что это не приводит к ошибке.
Мне нужно знать, как устранить ошибку и предупредить. В первую очередь меня больше всего беспокоит ошибка, потому что она мешает мне выполнить несколько задач, которые мне нужно запустить сегодня. Заранее спасибо.
Я предполагаю, что я использовал другую версию коннектора.NET MySQL, но я не уверен.
2 ответа
Если вы изначально создали наборы данных путем перетаскивания из базы данных или обозревателя серверов внутри Visual Studio, и ссылка на базу данных в какой-то момент больше не действительна (перемещена / удалена база данных), это вызовет это исключение.
Это связано с тем, что Visual Studio хранит строку подключения в XSD. Если эта строка подключения больше не действительна, она не может динамически генерировать необходимые адаптеры. Чтобы это исправить, измените атрибут ConnectionStringObject на узле Connection внутри файла XSD (не на уровне разработки, а на уровне текстового редактора). Установите для него допустимую строку подключения, указывающую на базу данных, которой соответствует ваш набор данных, и вы хорошо пойти.
Если вы больше не заботитесь о соединении, вы можете вместо этого удалить элемент Connection, оставив пустой узел Connections.
...
<DataSource DefaultConnectionIndex="0" FunctionsComponentName="QueriesTableAdapter" Modifier="AutoLayout, AnsiClass, Class, Public" SchemaSerializationMode="IncludeSchema" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<Connections />
<Tables />
<Sources />
</DataSource>
...