2012-07-05 20 views
12

मैं जीटीके # विंडोज सर्वर 2008 आर 2 एक्स 64 पर विजुअल स्टूडियो 2010 में काम करने के लिए पूरे दिन कोशिश कर रहा हूं ताकि मैं अच्छा क्रॉस-प्लेटफार्म जीयूआई अनुप्रयोग लिखना शुरू कर सकूं, लेकिन मैं कुछ नया हूँ सी # और मुझे परेशानी की दुनिया है।विजुअल स्टूडियो 2010 में जीटीके #

मैंने विंडोज के लिए नवीनतम मोनो स्थापित किया जिसमें जीटीके # शामिल है। मैंने यहां से गाइड के बाद मेरी परियोजना का लक्ष्य ढांचा बनने के लिए एक मोनो 2.10.8 प्रोफ़ाइल भी स्थापित की है: http://erictummers.wordpress.com/2012/01/25/target-mono-from-visual-studio/

मैंने एक नया विंडोज फॉर्म एप्लिकेशन बनाया और विंडोज़ फॉर्मों के संदर्भों को हटा दिया और जीटीके # सामान, यहां से गाइड का पीछा करते हुए: http://jrwren.wrenfam.com/blog/2008/11/01/gtk-in-visual-studio-2008-on-vista-x64/

मैंने उस मार्गदर्शिका के अलावा gtk-dotnet का संदर्भ भी जोड़ा।

System.TypeInitializationException was unhandled 
    Message=The type initializer for 'Gtk.Application' threw an exception. 
    Source=gtk-sharp 
    TypeName=Gtk.Application 
    StackTrace: 
     at Gtk.Application.Init() 
     at GridToGo.Program.Main() in F:\visual-studio\GridToGo\GridToGo\Program.cs:line 13 
     at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args) 
     at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args) 
     at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() 
     at System.Threading.ThreadHelper.ThreadStart_Context(Object state) 
     at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx) 
     at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) 
     at System.Threading.ThreadHelper.ThreadStart() 
    InnerException: System.DllNotFoundException 
     Message=Unable to load DLL 'glibsharpglue-2': The specified module could not be found. (Exception from HRESULT: 0x8007007E) 
     Source=glib-sharp 
     TypeName="" 
     StackTrace: 
      at GLib.Thread.glibsharp_g_thread_supported() 
      at GLib.Thread.get_Supported() 
      at Gtk.Application..cctor() 
     InnerException: 

मैं समझ नहीं कैसे प्राप्त करने के लिए:

using System; 
using System.Runtime.InteropServices; 
using System.Collections.Generic; 
using System.Linq; 
using Gtk; 

namespace GridToGo 
{ 
    static class Program 
    { 
     [STAThread] 
     static void Main() 
     { 
      Application.Init(); 
      Window myWin = new Window("My first GTK# Application! "); 
      myWin.Resize(200, 200); 
      myWin.Destroyed += new EventHandler(myWin_Destroyed); 
      Label myLabel = new Label(); 
      myLabel.Text = "Hello World!!!!"; 
      myWin.Add(myLabel); 
      myWin.ShowAll(); 
      Application.Run(); 
     } 

     static void myWin_Destroyed(object sender, EventArgs e) 
     { 
      Application.Quit(); 
     } 
    } 
} 

जब मैं किसी विन्यास के साथ इस चलाने का प्रयास, मैं निम्नलिखित अपवाद:

यह मेरा आवेदन का पूरा कोड है यह उस डीएल को खोजने के लिए! मैंने निम्नलिखित नामों के साथ समाधान में प्रत्येक फ़ोल्डर में डीएलएल की 4 प्रतियों की प्रतिलिपि बनाने की भी कोशिश की: glibsharpglue-2glibsharpglue-2.dllglibsharpglue-2.oglibsharpglue-2.o.dll! मैंने जीटीके साइट से जीटीके ऑल-इन-वन पैकेज स्थापित करने और अपने बिन फ़ोल्डर को अपने सिस्टम पथ में जोड़ने की कोशिश की, और उसके बाद उसी फ़ोल्डर में उसी 4 डीएलएस को कॉपी किया, सभी भाग्य के साथ।

मेरी पागल समस्या के लिए कोई सलाह? मुझे लगता है कि मैं यहाँ कुछ बड़ा याद कर रहा हूँ। > _ <

उत्तर

19

मैंने इसे समझ लिया! विंडोज के लिए मोनो पूरी तरह से अनावश्यक था। .NET के लिए जीटीके # जो मुझे चाहिए।

  1. यहां से दिशाओं के साथ एक मोनो परियोजना लक्ष्य स्थापित करें:: http://erictummers.wordpress.com/2012/01/25/target-mono-from-visual-studio/
  2. के लिए स्थापित करें जीटीके # भविष्य क्रॉस प्लेटफॉर्म जीटीके # विकास के लिए उनकी Windows वातावरण स्थापित करने के लिए इच्छुक में किसी के लिए, यहाँ चरणों मैं पीछा कर रहे हैं आधिकारिक मोनो डाउनलोड साइट से .NET।
  3. विंडोज के लिए ग्लेड/जीटीके + स्थापित करें, स्रोत प्रोजेक्ट यहां: http://sourceforge.net/projects/gladewin32/
  4. नया सी # प्रोजेक्ट लक्ष्यीकरण मोनो बनाएं।
  5. अपनी परियोजना के लिए आवश्यक असेंबली का संदर्भ लें जहां से आपने .NET के लिए GTK # स्थापित किया था।
+1

हालांकि मोनो के विंडोज़। फर्म समर्थन क्रॉसप्लेटफार्म का समर्थन नहीं करता है ... – ruffin

+0

वापस आने और समझाए जाने के लिए धन्यवाद! – heltonbiker

+0

मैं उत्सुक हूं, आप मोनो को क्यों लक्षित करना चाहते हैं? क्या माइक्रोसॉफ्ट के विजुअल सी # कंपाइलर का उपयोग करने में कुछ समस्या है? अगर चीजें पर्याप्त संगत हैं, तो मुझे लगता है कि या तो मोनो या माइक्रोसॉफ्ट का कंपाइलर एक बाइनरी उत्पादित कर सकता है जिसे मोनो के रनटाइम या माइक्रोसॉफ्ट के .NET रनटाइम पर चलाया जा सकता है। –