Запустите файл .sql из приложения в C #, используя библиотеку SMO

Я создаю приложение в C # visual studio 2012 RC.

Мне нужно запустить скрипты в приложении. для этого я использую. Эти две библиотеки. Целевая платформа .net для моего приложения – 4.5.

using Microsoft.SqlServer.Management.Smo; using Microsoft.SqlServer.Management.Common; 

Я написал код для запуска скриптов после проверки базы данных погоды или нет.

Когда я запускаю код, появляется всплывающее неожиданное исключение. я действительно знаю, что это значит. Не могли бы вы помочь мне, чтобы избавиться от этого исключения.

Я также добавляю мой код и предварительный просмотр.

Пожалуйста, ПОМОГИТЕ МЕНЯ … Я уже слишком много искал.

введите описание изображения здесь

 **Here are the Exception Details.** 

Исключение System.IO.FileLoadException было необработанным. HResult = -2146232799 Сообщение = сборка смешанного режима построена против версии «v2.0.50727» среды выполнения и не может быть загружена в среду выполнения 4.0 без дополнительной информации о конфигурации. Source = mscorlib StackTrace: at System.Reflection.RuntimeAssembly.GetType (сборка RuntimeAssembly, имя String, Boolean throwOnError, Boolean ignoreCase, тип ObjectHandleOnStack) в System.Reflection.RuntimeAssembly.GetType (имя строки, Boolean throwOnError, Boolean ignoreCase) в системе. Reflection.Assembly.GetType (имя строки, Boolean throwOnError) в Microsoft.SqlServer.Management.Common.ServerConnection.GetStatements (String query, ExecutionTypes executeType, Int32 & statementsToReverse) в Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery (String sqlCommand, ExecutionTypes executeType) в Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery (String sqlCommand) в McFarlaneIndustriesPOSnamespace.SplashScreen.CreateDatabase () в e: \ Works \ McFarlane Industries \ McFarlane Industries Point of Sale Исходный код \ McFarlaneIndustries \ SplashScreen.cs: строка 139 в McFarlaneIndustriesPOSnamespace.SplashScreen.splashScreenTimer_Tick (отправитель объекта, EventArgs e ) в e: \ Works \ McFarlane Industries \ McFarlane Industries Point of Sale Исходный код \ McFarlaneIndustries \ SplashScreen.cs: строка 159 в System.Windows.Forms.Timer.OnTick (EventArgs e) в System.Windows.Forms.Timer.TimerNativeWindow .WndProc (Message & m) в System.Windows.Forms.NativeWindow.DebuggableCallback (IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) в System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW (MSG & msg) в System.Windows.Forms. Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop (IntPtr dwComponentID, Int32 reason, Int32 pvLoopData) в System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner (причина Int32, контекст ApplicationContext) в System.Windows.Forms .Application.ThreadContext.RunMessageLoop (причина Int32, контекст ApplicationContext) в System.Windows.Forms.Application.Run (форма mainForm) в McFarlaneIndustriesPOSnamespace.Program.Main () в e: \ Works \ McFarlane Industries \ McFarlane Industries Point of S ale Исходный код \ McFarlaneIndustries \ Program.cs: строка 19 в System.AppDomain._nExecuteAssembly (сборка RuntimeAssembly, String [] args) в System.AppDomain.nExecuteAssembly (сборка RuntimeAssembly, String [] args) в System.Runtime.Hosting.ManifestRunner .Run (Boolean checkAptModel) в System.Runtime.Hosting.ManifestRunner.ExecuteAsAssembly () в System.Runtime.Hosting.ApplicationActivator.CreateInstance (ActivationContext activationContext, String [] activationCustomData) в System.Runtime.Hosting.ApplicationActivator.CreateInstance (ActivationContext activationContext ) в System.Activator.CreateInstance (ActivationContext activationContext) в Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssemblyDebugInZone () в System.Threading.ThreadHelper.ThreadStart_Context (состояние объекта) в System.Threading.ExecutionContext.RunInternal (ExecutionContext executeContext, ContextCallback callback, Состояние объекта, Boolean preserveSyncCtx) в System.Threading.ExecutionContext.Run (ExecutionContext exec utionContext, обратный вызов ContextCallback, состояние объекта, Boolean preserveSyncCtx) в System.Threading.ExecutionContext.Run (выполнение исполняемого кодаContext, обратный вызов ContextCallback, состояние объекта) в System.Threading.ThreadHelper.ThreadStart () InnerException:

Похоже, вы пытаетесь загрузить .net 2 версию Microsoft.SqlServer.xxxx.dll. Обновите ссылки на версию .net4 (желательно) или добавьте следующую мантру в свой app.config в узле <configuration>

 <startup useLegacyV2RuntimeActivationPolicy="true"> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/> <requiredRuntime version="v4.0" /> </startup> 

чтобы разрешить загрузку сборок .net 2. Подробнее см. Здесь .