निम्न कोड कभी-कभी इस स्टैकट्रस का उत्पादन करता है। ऐसा लगता है कि यह ढांचे के भीतर हो रहा है जब आंतरिक FileStream
ऑब्जेक्ट पर निपटान विधि कहा जाता है? मुझे लगता है कि किसी भी विचार, एक बग की तरह लगता है?मोनो टच फ़ाइल। रीडअल्टटेक्स्ट आंतरिक फ़ाइलस्ट्रीम पर अपवाद फेंकता है। डिस्प्ले()
var previousVersion = long.Parse(File.ReadAllText(Paths.VersionFile));
StackTrace:
System.IO.IOException: Invalid parameter
at System.IO.FileStream.Dispose (Boolean disposing) [0x00000] in <filename unknown>:0
at System.IO.Stream.Close() [0x00000] in <filename unknown>:0
at System.IO.StreamReader.Dispose (Boolean disposing) [0x00000] in <filename unknown>:0
at System.IO.TextReader.Dispose() [0x00000] in <filename unknown>:0
at System.IO.File.ReadAllText (System.String path) [0x00000] in <filename unknown>:0
at CatalystHD.Shared.BaseLoginController.CheckIfFirstRunThisVersion() [0x00000] in <filename unknown>:0
at CatalystHD.Shared.BaseLoginController.ViewDidLoad() [0x00000] in <filename unknown>:0
at MonoTouch.UIKit.UIViewController.get_View() [0x00000] in <filename unknown>:0
at CatalystHD.IPad.RootViewController.AnimateTo (MonoTouch.UIKit.UIViewController aController, UIViewAnimationTransition transition) [0x00000] in <filename unknown>:0
at CatalystHD.IPad.RootViewController.Logout (Boolean timeout) [0x00000] in <filename unknown>:0
at CatalystHD.IPad.NotebookSelectionController.logoutButton_Clicked (System.Object sender, System.EventArgs e) [0x00000] in <filename unknown>:0
at MonoTouch.UIKit.UIBarButtonItem Callback.Call (MonoTouch.Foundation.NSObject sender) [0x00000] in <filename unknown>:0
at MonoTouch.UIKit.UIApplication.Main (System.String[] args, System.String principalClassName, System.String delegateClassName) [0x00000] in <filename unknown>:0
at MonoTouch.UIKit.UIApplication.Main (System.String[] args) [0x00000] in <filename unknown>:0
at CatalystHD.Application.Main (System.String[] args) [0x00000] in <filename unknown>:0
संपादित VersionFile
पथ इस तरह से पकड़ा जाता है:
public static string VersionFile {
get {
var path = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
return Path.Combine(path, "version.dat");
}
}
'पथ। वर्जन फाइल' के साथ क्या पारित किया जा रहा है? –
@ डैनियलए। व्हाइट संपादित करें –
हमें आपके आवेदन के बारे में अधिक संदर्भ की आवश्यकता होगी, उदा। मैं किसी भी मुद्दे के बिना 10000x के लिए लूप में कोड चला सकता हूं, क्योंकि कुछ और अलग होना चाहिए। उस फ़ाइल को कब बनाया, अपडेट किया गया, हटा दिया गया है? किसी भी अलग धागे से? यह डिवाइस, सिम्युलेटर, दोनों पर होता है? ... और सभी संस्करण संख्याएं। – poupou