在工作中,我們在DataAccess圖層的某些項目中使用了類型化數據集。有時我們使用分部類功能對它們進行擴展:在數據集上使用View代碼創建帶有部分類聲明的DataSetName.cs,您可以在其中添加代碼。在這個文件中我們還添加了TableAdapter的部分類。Visual Studio 2008數據集生成問題(命名空間問題)
最近我們遷移的Visual Studio 2008中,從2005年VS數據集生成的行爲似乎是在不同的VS 2008它可以除去在cs文件TableAdapter的命名空間的一部分:
例子:
原始代碼:
namespace ClassLibrary1.Dataset.DataSet1TableAdapters
{
public partial class CategoriesTableAdapter
{
}
}
遷移後在VS 2008:
namespace ClassLibrary1.DataSet1TableAdapters
{
public partial class CategoriesTableAdapter
{
}
}
命名空間已更改!它已被項目的根名稱空間所取代。
繁殖步驟:
- 創建一個類庫項目。
- 添加一個名爲Dataset的文件夾或任何項目。
- 在文件夾(DataSet1)內添加一個數據集。
- 在數據集設計器中刪除表格(我使用了Northwind的表格)。
- 右鍵單擊解決方案資源管理器中的數據集,然後選擇查看代碼。它將創建一個DataSet1.cs文件,其中包含數據集的部分類。
- 從DataSet1.Designer.cs複製表適配器的名稱空間和類,並將其粘貼到DataSet1.cs中。
- 在數據集上運行自定義工具,它工作正常!
- 關閉解決方案
- 再次打開該解決方案 數據集上
- 運行自定義工具,修改爲TableAdapter的命名空間,非常討厭:(
我的機器: 的Windows Server 2003 R2標準版SP2 Visual Studio 2008 Pro(9.0.21022.8 RTM) 也在一個運行XP的同事的計算機上測試過。
任何人都已經遇到相同的奇怪行爲嗎? 我做錯了什麼? 在Visual Studio 2008中是否有新的配置來使它像VS 2005中一樣工作?
您是否嘗試設置自定義工具的名稱空間?警告:https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=313984&wa=wsignin1.0 – 2009-07-28 13:10:01
是的,我試過了,不幸的是沒有改變任何東西。感謝您關於MS Connect的鏈接,但我不知道它是否相關。這不是VS 2008中的新功能,它在VS 2005上運行良好:( – 2009-07-28 16:39:31