2012-07-01 22 views
5

C# visual studio 2012 RC uygulamasında bir uygulama yapıyorum.SMO kitaplığı kullanarak C# Uygulamasının .sql dosyasını çalıştırın.

Komut dosyalarını uygulamada çalıştırmam gerekiyor. bunun için kullanıyorum. Bu iki kitaplık. Uygulamamın hedef .net framework 4.5.

Hava durumu veritabanını denetledikten sonra komut dosyalarını çalıştırmak için kodu yazdım.

Kodu çalıştırdığımda beklenmeyen bir özel durum açılır. Gerçekten ne anlama geldiğini biliyorum. Bu istisnadan kurtulmak için lütfen bana yardım edebilir misiniz?

Ayrıca kodumu ve özel durum önizlemesini de ekliyorum.

Lütfen HELP ME ... Çok fazla googled ettik.

enter image description here

**Here are the Exception Details.** 

System.IO.FileLoadException = Karma mod montaj zamanının sürümünü 'v2.0.50727' karşı inşa edilmiş ve 4.0 çalışma zamanı yüklenemez HResult = -2146232799 İleti işlenmeyen oldu ek yapılandırma bilgisi olmadan. Kaynak = mscorlib StackTrace: System.Reflection.RuntimeAssembly.GetType (RuntimeAssembly montajı, dize adı, Boole throwOnError, Boole ignoreCase, ObjectHandleOnStack tipi) System.Reflection.RuntimeAssembly.GetType de (String name, Boolean throwOnError, Boole ignoreCase de ) Microsoft.SqlServer.Management.Common.ServerConnection.GetStatements de System.Reflection.Assembly.GetType (string name, Boolean throwOnError) (Dize sorgusu, ExecutionTypes executionType, Int32 & statementsToReverse) de Microsoft.SqlServer.Management.Common at .ServerConnection.ExecuteNonQuery (String sqlCommand, ExecutionTypes executionType) Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery (String sqlCo mmand) McFarlaneIndustries'teki POSnamespace.SplashScreen.CreateDatabase() in e: \ Works \ McFarlane Industries \ McFarlane Industries Satış Noktası Kaynak Kodu \ McFarlaneIndustries \ SplashScreen.cs: line 139 McFarlaneEndustriesPOSnamespace.SplashScreen.splashScreenTimer_Tick (Object sender, EventArgs e) System.Windows.Forms.Timer.OnTick (EventArgs e) at System.Windows.Forms.Timer adresindeki Kaynak Kodu \ McFarlane Endüstrileri \ SplashScreen.cs: satır 159 System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW de System.Windows.Forms.NativeWindow.DebuggableCallback (ıntptr hWnd, ınt32 mesaj, ıntptr wParamın, ıntptr lparam) de TimerNativeWindow.WndProc (Mesaj & m) (mSG & msg)System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop (IntPtr dwComponentID, Int32 nedeni, Int32 pvLoopData) at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner (Int32 nedenle,ApplicationContext içeriği) System.Windows.Forms.Application.ThreadContext.RunMessageLoop (Int32 nedeni, ApplicationContext içeriği) at System.Windows.Forms.Application.Run (Form mainForm) , McFarlaneIndustriesPOSnamespace.Program.Main() in e: \ Works \ McFarlane Industries \ McFarlane Industries Satış Noktası Kaynak Kodu \ McFarlaneIndustries \ Program.cs: line 19 System.AppDomain._nExecuteAssembly (RuntimeAssembly düzeneği, String [] args) System.AppDomain.nExecuteAssembly de (RuntimeAssembly düzeneği, String [] args) System.Runtime.Hosting.ManifestRunner.Run (Boolean checkAptModel) en System.Runtime.Hosting.ManifestRunner de System.Runtime.Hosting.ApplicationActivator.CreateInstance de .ExecuteAsAssembly() (activationContext activationContext, string [] activationCustomData) System.Activator.CreateInstance de System.Runtime.Hosting.ApplicationActivator.CreateInstance (activationContext activationContext) de (activationContext activationContext) Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssemblyDebugInZone() at System.Threading.ThreadHelper.ThreadStart_Context (Object state)adresinden System.Threading.ExecutionContext.RunInternal de(ExecutionContext ExecutionContext, ContextCallback geri arama, nesne durumu, Boolean preserveSyncCtx) System.Threading.ExecutionContext.Run de (ExecutionContext ExecutionContext, ContextCallback geri arama, Boole preserveSyncCtx durum nesne) System.Threading de . ExecutionContext.Run (ExecutionContext ExecutionContext, ContextCallback geri arama, devlet Nesne) System.Threading.ThreadHelper.ThreadStart() InnerException en :

Eğer Microsoft.SqlServer.xxxx .net 2 sürümünü yüklemeye çalışıyorsanız gibi görünüyor
+0

Lütfen istisna ayrıntılarını gönderin – saille

+0

Soruyu düzenledim ve istediğiniz gibi özel durum ayrıntılarını ekledim. Anlık görüntü, istisnanın ortaya çıktığı noktayı gösterir. Lütfen detaylara ve anlık görüntülere de bakın. –

cevap

5

.dll. (Tercih edilir), bir .net4 sürüme referanslar güncelleme veya net 2 düzeneklerinin yüklenmesini sağlamak için <configuration> düğüm

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

altında app.config aşağıdaki mantrasını ekleyin. Bakınız here for details.

+0

Projemde başvurulan bu iki kitaplık benim derlememde yoktu. sonra sql server 2008 R2 için MSI dosyası "SharedManagementObjects.msi" x64'i indirdim. Bundan sonra bu istisna açılır. şimdi bu dosyayı sql server 2012 web sayfasından indireceğim. Umarım şimdi .net çatışması gelmez. doğru gidiyorum efendim. gerçekten yüklerim. veya başka bir şey. Bu doğru yol mu. –

+0

sqlsvr2012'nin .net 4 SMO API'sine sahip olup olmadığını bize bildirin. Aksi halde, işleri çalışmak için app.config değişikliklerini kullanın. – spender

+0

Sen harikasın ... sen en iyisisin ... harikasın ... efendim ... ben şimdi hayranınım ... Sorunum çözüldü ... Teşekkürler .. çok. çok alot bir sürü ... –

İlgili konular