با هر بار عرضهی نسخههای جدید ویژوال استادیو، علاوه بر اضافه شدن امکانات جدید، برخی از امکانات هم به دلایل نامعلومی از این نرم افزار حذف میشوند. در Visual Studio 2012 امکان بسیار کارآمد Setup and Deployment حذف گردید و این بار برخلاف انتظار در Visual Studio 2013 با عدم پشتیبانی از Sql Server Compact مواجه شدیم و هنور دلایل این کار از سوی تیم ویژوال استادیو توضیح داده نشده است. شاید مایکروسافت در حال توسعه نسخه NoSql جدیدی برای جایگزینی باشد.
می توانید از ابزار SQL Server Compact Toolbox استفاده نمایید که کارایی خوبی ندارد و بیشتر یک مکمل است. اما راهی برای بازگشت این ابزار به Visual Studio 2013 وجود دارد؟
قابلیت Data Designer Extensibility
در نگارشهای مختلف ویژوال استادیو امکانی به نام DDEX Provider وجود دارد که توسط آن میتوانید یک Data Designer جدید را به ویژوال استادیو اضافه نمایید. در واقع اگر از پنجره Server Explorer بر روی Data Connections راست کلیک و یک کانکشن جدید بسازید، لیست Data Sourceهای پیش فرض ویژوال استادیو به شما نشان داده میشود که به کمک همین قابلیت DDEX به ویژوال استادیو اضافه شده است. با این قابلیت، امکان اضافه نمون یک Data Designer برای یک پایگاه داده نیز وجود دارد. از آدرس Data Designer Extensibility (DDEX) SDK می توانید نحوه تولید و رجیستر کردن یک DDEX Provider را بیاموزید. برای مثال رجیستری زیر IBM DB2 Data Provider را به ویژوال استادیو اضافه مینماید
HKLM { %REGROOTBEGIN% 'DataProviders' { '{6085DDE2-2EE1-4768-82C3-5425D9B98DAD}' = s 'IBM DB2 Provider' { val 'DisplayName' = s 'Provider_DisplayName, IBM.DB2.Resources' val 'ShortDisplayName' = s 'Provider_ShortDisplayName, IBM.DB2.Resources' val 'Description' = s 'Provider_Description, IBM.DB2.Resources' val 'FactoryService'= s'{45E1413D-896C-4a2a-A75C-1CBCA51C80CB}' val 'Technology' = s '{6565551F-A496-45f3-AFFB-D1AECA082824}' val 'InvariantName' = s 'IBM.DB2' val 'PlatformVersion' = s '2.0' 'SupportedObjects' { 'IVsDataViewSupport' 'IVsDataObjectSupport' 'IVsDataConnectionUIControl' 'IVsDataConnectionProperties' 'IVsDataConnectionSupport' } } } 'Services' { '{45E1413D-896C-4a2a-A75C-1CBCA51C80CB}' = s '{7B7F1923-D8F9-430f-9FA7-7919677E5EAC}' { val 'Name' = 'IBM DB2 Provider Object Factory' } } 'Packages' { '{7B7F1923-D8F9-430f-9FA7-7919677E5EAC}' = 'DB2 Package' { val 'InProcServer32' = s 'mscoree.dll' val 'Class' = s 'IBM.DB2.DB2Package' val 'Codebase' = s '%MODULE%' 'SatelliteDll' { val 'Path' = s '%PATH%' val 'DllName' = s 'IBM.DB2UI.DLL' } } %REGROOTEND% }
ابزار SSCEVSTools for Visual Studio 2013
برای اضافه نمودن Sql Server Compact Data Provider به Visual Studio 2013 از نسخه قبلی SSCEVSTools که برای Visual Studio 2012 عرضه شده است استفاده میکنیم. در واقع این ابزار یک DDEX Provider را به ویژوال استادیو برای Sql Server Compact اضافه میکند. اما این نصب کننده، برای نسخهی قبل، تهیه شده است و امکان نصب آن بر روی Visual Studio 2013 نمیباشد. یک راهکار عملی، دسترسی به فایلها و رجیستریهای موجود در این نصب کننده و تولید نصب کننده جدیدی میباشد.
دسترسی به محتوی فایلهای Setup
ابزار Orca در Windows SDK برای ویرایش فایلهای نصب کننده توسط مایکروسافت تولید شده است که امکان مشاهده تمامی جزئیات آن را فراهم مینماید. ابزار قبلی، شامل فایلهای dll و رجیستری است و امکان اتصال به Sql Server Compact را به ویژوال استادیو اضافه مینمود.
حال با یک برنامه Setup ساز، فایلها و رجیستری را برای Visual Studio 2013 تنظیم نموده و با نصب ابزار جدید، دوباره امکان استفاده از Sql Server Compact در Visual Studio 2013 میسر میشود.
برای نصب این ابزار، آن را از گالری ویژوال استادیو به نام SSCEVSTools for Visual Studio 2013 دانلود نمایید.
البته چون این ابزار بصورت غیر رسمی تولید و عرضه شده است گاهی اوقات به صورت خودکار از لیست Data Sourceها حذف شده که لازم است آن را حذف و مجددا نصب نمایید.
اگر مایل به بازگشت و کار بر روی نسخه جدید Sql Server Compact 5 هستید اینجا در Visual Studio UserVoice رای دهید.