الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ظهور مشكلة توقف التطبيق عن العمل بعد عملية الـ Publish لمشروعي

بدأه ..ريـومة.. في 15 سبتمبر 2014 · 8 رد · 1,574 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

 

انا اعمل على مشروع في بيىة الـ WPF Application  ,, وبعد عملية الـ Publish وتحويله الى برنامج تطبيقي يتم فتح اول شاشة في التطبيق ولكن عند الضغط على اي من البوتونات الموجودة على الشاشة

يتم غلق التطبيق وتظهر رسالة توقف التطبيق عن العمل

 

ماهو الحل ؟؟

 

ارجو منكم الافادة

وشكرا ...

#2

وعليكم السلام ورحمة الله،

 

المشكلة في إحدى المتطلبات:

1. إذا كان التطبيق يعمل على قاعدة بيانات، فإن قاعدة البيانات غير موجودة في جهاز الـ Client، أو هناك خطأ بالإتصال معها.

2. أو ربما يكون هناك عمليه قراءة او كتابه على ملف معين، والملف غير موجود على Client.

3. وربما عند عمليه Publish لم يتم تحديد المتطلبات كاملة.

...

على العموم، رسالة التوقف عن العمل بعد التنصيب، هي Exception أثناء عمليه التطوير، لذلك ولمعرفة الخطأ بالضبط، اتبعي الخطوات التالية:

1. ضمن الزر الذي يحدث فيه الخطأ، ضعي كامل الكود ضمن try catch، بحيث عند حدوث خطأ معين يقوم بعرض رسالة خطأ

private void Button_Click_1(object sender, RoutedEventArgs e)
{
    try
    {
       // Your Code Here
    }
    catch (Exception ex)
    {
      MessageBox.Show(ex.ToString());
    }
}

* إذا لم تحل المشكلة، حاول اضافة صور عن الخطأ وعن الكود الذي يحصل فيه الخطأ

 

بالتوفيق،،،

• • •


[ ربيّ احفظ سوريا الحبيبة]


oFOK7Kd.png

#3

فعلا ,, المشروع يعمل على قاعدة البيانات باستخدام خاصية  LINQ to SQL

وجميع الازرار عند الضغط عليها تقوم بجلب البيانات من الداتا بيس

 

ولكن لاحظت عند قيامي لعملية الـ Publish ظهور رسالة تحذير بالرغم من نجاح عملية Build

نص التحذير:

Warning 1 One of the following items 'Microsoft .NET Framework 4 (x86 and x64)
, .NET Framework 3.5 SP1' is required by 'SQL Server 2008 Express',
but none were included. WPFApplication1

 

وقمت بنسخ المشروع الى جهاز آخر وكان اصدار الفيجوال 2013 ,, ذهبت مشكلة التحذيرالتي بالاعلى ولكن ظهرت مشكلة اخرى متعلقة بالداتا بيس :(

قمت بنسخ جزء من الرسالة تفيد بأن :

 

 
System.Data.SqlClient.SqlException was unhandled
  HResult=-2146232060
  Message=An attempt to attach an auto-named database for file C:\Users\mno\AppData\Local\Apps\2.0\VYYE59P3.BLC\KBJZJQ83.2Z5\wpfa..tion_65129e0b01c94023_0001.0000_25c7ecf4a3f15373\New_DB.mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share.
  Source=.Net SqlClient Data Provider
  ErrorCode=-2146232060
  Class=14
  LineNumber=65536
  Number=15350
  Procedure=""
  Server=\\.\pipe\98C51FD2-1D67-4B\tsql\query
  State=1
#4

بسم الله الرحمن الرحيم

 

بالنسبة لعميلة Publish أو Deployment للمشروع، يجب تحقيق كافة المتطلبات، ليتمكن من العمل على جهاز العميل Client.

 

من خلال رسالة التحذير، لاحظت أن بيئة العمل هي Visual Studio 2010 و SQLServer 2008 Express، أي إن SQL Express يتطلب .NET Framework 3.5 Service Pack 1.

 

اتبعي الخطوات التالية:

1. من خصائص المشروع، نذهب إلى Publish

2. نضغط على زر Prerequisites... 

3. من النافذة الجديدة نختار:

      أ. NET Framework 3.5 SP1.

      ب. Microsoft .NET Framework 4 (x86 and x64

      ج. SQL Server 2008 Express

4. نلاحظ اسفل هذه القائمة يوجد ثلاث خيارت، لتحديد مكان هذه المتطلبات، الأفضل الخيار الأول Download Prerequisites from the component vendor's web site، هذا الخيار سيقوم بتثيت المتطلبات السابقة على جهاز Client، عند عملية التنصيب، بشرط أن يكون موصولاً بالأنترنت.

 

 

أما بالنسبة للخطأ في التجربة الثانية، فالسبب أن قاعدة البيانات موجودة مسبقاً على هذا الجهاز حيث أن:

C:\Users\mno\AppData\Local\Apps\2.0\VYYE59P3.BLC\KBJZJQ83.2Z5\wpfa..tion_65129e0b01c94023_0001.0000_25c7ecf4a3f15373\

مسار ملف قاعدة البيانات 

New_DB.mdf

 

وكما قلت سابقاً المشكلة في متطلبات المشروع أولاً على جهاز Client.

 

بالتوفيق،،،

1

• • •


[ ربيّ احفظ سوريا الحبيبة]


oFOK7Kd.png

#5

مشكور اخوي على تجاوبك معي ,, وعذرا على الاطالة
 
نعم بيئة العمل هي Visual Studio 2010 و نسخة الـ SQL هي 2008
وقد قمت بعمل ما ذكرت وتمت عملية الـ Build  بنجاح ولكن مازال التطبيق يتوقف عن العمل وعند الضغط على تصحيح البرنامج بالفيجوال يقوم باظهار الرسالة
post-248509-0-61753900-1410982151_thumb.

 

لماذا يستمر ظهور الخطأ ويكون متعلق بقاعدة البيانات؟ هل هناك خطوات لتهيئة الداتا بيس قبل عملية الـ publish حتى تكون جاهزة لنسخها في جهاز العميل؟

علما بانني لم استخدم عمليه الادخال او الحفظ,, فقط استخراج وعرض

#6

أختي الكريمة، لا يوجد أي مشكلة بقاعدة البيانات، بالنهاية هي عبارة عن ملف.

 

المشكلة فقط، بجهاز الـ Client، ومحتوى الرسالة يعني: لا يوجد وقت كافي للإتصال بقاعدة البيانات، وتنفيذ عمليات معينة. وهذا الأمر نجده في كثير من الأحيان، عندما تأخذ عمليه معينة وقت أكثر من اللازم لها.

ونظريا هناك عدة اسباب، منها ضعف الإتصال بالانترنت (إذا كانت قاعدة بيانات على سيرفر)، أو هناك Process معينة تعمل حاليا على قاعدة البيانات (أي البرنامج يحاول الإتصال بقاعدة البيانات ولكن غير مسموح، مما يؤدي إلى نفاذ الوقت اللازم) تسمى هذا المرحلة ب Deadlock،

وهناك أسباب اخرى، والأفضل أن لا ندخل فيها أبدأ، لأن الفكرة الأساسية بعيدة عن هذه التفسيرات.

 

لكن ما أنا متأكد منه أن هناك مشكلة بتركيب قاعدة البيانات على جهاز Client.

 

جربي حل بسيط للتأكد أولا من مشكلة الصلاحيات:

1. بعد تنصيب البرنامج، شغليه ك مسؤول (Run As Administrator)، لانه ربما يكون البرنامج بحاجة صلاحيات للإتصال بقاعدة البيانات.

 

وإذا لم تنفع، حاولي رفع المشروع، أو قاعدة البيانات.

• • •


[ ربيّ احفظ سوريا الحبيبة]


oFOK7Kd.png

#7

قامت زميلتي بتطبيق الطريقه  (Run As Administrator)

ولكن يجب عملها عند كل عمليه فتح للبرنامج

وقرأت هذا الموضوع 

http://stackoverflow.com/questions/5276674/how-to-force-a-wpf-application-to-run-in-administrator-mode

 

كيف لي ان اضيف الـ manifest ؟

لم اجدها بملف المشروع

#8

لتشغيل اي برنامج Run As Administrator بشكل دائم، فقط خطوتين.

 

1. نضغط بالزر الأيمين على أيقونة البرنامج ونختار properties

2. من نافذة الخواص، نختار صفحة Compatibility، ونلاحظ بالأسفل خيار Run this program as amdinistrator، نقوم بتحديد الخيار، ونضغط موافق.

1

• • •


[ ربيّ احفظ سوريا الحبيبة]


oFOK7Kd.png

#9

كل الشكر والتقدير على جميع ماقدمت

جعله الله في موازين حسناتك...

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…