1

我通過複製網站的整個文件夾將我的ASP.NET 4.5網站移動到新計算機。當我嘗試在Visual Studio 2012(與第一臺計算機上的版本相同)上的新計算機上構建網站時,我收到了一些警告和錯誤。在新計算機上編譯ASP.NET網站時無法生成代碼錯誤

錯誤:

Failed to generate code. Exception of type 'System.Data.Design.InternalException' was thrown. C:\Users\admin\Desktop\website_sample\App_Code\DataSet.xsd 

有21個warnnings,都說「無法更新自動刷新引用」 爲不同的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連接器,但我已經是龍頭安裝在新電腦上,以確保這不會導致錯誤。

我需要知道如何解決錯誤和警告。我首先關心這個錯誤,因爲它阻止了我運行一些我今天需要運行的任務。提前致謝。

我的假設是我使用了不同版本的.NET MySQL連接器,但我不是這樣。

+0

在你的XSD文件中是否有'ConnectionStringObject'屬性? –

+0

是的,它是空的 –

回答

4

如果您最初創建通過拖動,並從數據庫或服務器資源管理器的Visual Studio中,並在某些時候數據庫參考丟棄數據集不再有效(移動/刪除數據庫),這將導致此異常。

這是由於Visual Studio將連接字符串存儲在XSD中。如果該連接字符串不再有效,則無法動態生成所需的適配器。要解決此問題,請更改XSD文件內部的Connection節點上的ConnectionStringObject屬性(不是在設計級別,而是在文本編輯器級別)。將其設置爲指向數據集對應的數據庫的有效連接字符串,然後很好去。

3

如果您不再關心連接,則可以刪除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> 
...