मैं एक समारोह जो एक PrivateFontCollection देता है:नेट PrivateFontCollection - कैसे फ़ाइल ताले को रिहा करने का काम पूरा हो जाने
Using customFonts = Common.GetCustomFonts()
' Do some stuff here
End Using
मैं उम्मीद करेंगे कि:
Public Shared Function GetCustomFonts() As PrivateFontCollection
Dim result = New PrivateFontCollection
Dim customFontFiles = {"Garamond.TTF", "Garamond-Bold.TTF", "Garamond-Italic.TTF", "EurostileExtended-Roman-DTC.TTF"}
For Each fontFile In customFontFiles
result.AddFontFile(Hosting.HostingEnvironment.MapPath("/Includes/" & fontFile))
Next
Return result
End Function
इस प्रकार मैं तो फ़ंक्शन का उपयोग करें फाइलें जारी की जाएंगी, लेकिन वे अभी भी लॉक हैं: मुझे निम्न त्रुटि मिलती है: 'कार्रवाई पूरी नहीं की जा सकती क्योंकि फ़ाइल सिस्टम में खुली है। फ़ाइल बंद करें और पुनः प्रयास करें। '
आईआईएस में वेबसाइट को बंद करने से मदद नहीं मिलती है; इसे रिलीज करने के लिए हमें ऐप पूल रीसायकल करना होगा।
क्या कोई भी इस बारे में सलाह दे सकता है कि निजी फ़ॉन्टकोलेक्शन का उपयोग इस तरह से किया जाता है कि फ़ाइलों को उपयोग के बीच में जारी किया जाता है?
मेरा एकमात्र विचार अब तक फ़ॉन्ट को स्मृति में लोड करना है और इसके बजाय AddMemoryFont का उपयोग करना है। इस तरह से मैं गारंटी दे सकता हूं कि PrivateFontCollection फ़ाइलों को कभी छूता नहीं है। – extremeandy
एक संभावित उत्तर के लिए http://stackoverflow.com/questions/26671026/how-to-delete-the-file-of-a-privatefontcollection-addfontfile – Horcrux7
जोड़ा गया कनेक्ट बग https://connect.microsoft.com/ VisualStudio/प्रतिक्रिया/विवरण/1379843 – Peter