हाँ, Windows.winmd फ़ाइल के रूप में एक संदर्भ परियोजना तैनात हो रही के लिए एक बाधा है में शामिल किया। आपके द्वारा उपयोग किए जाने वाले टूल इसकी सामग्री के बारे में उलझन में आते हैं, एक .NET असेंबली की तरह दिखता है। लेकिन ऐसा नहीं है, .winmd फ़ाइल प्रारूप पुराने प्रकार के COM प्रकार लाइब्रेरी प्रारूप का विस्तार है। WinRT के लिए, उन्होंने टीएलबी फ़ाइल प्रारूप के प्रतिबंधों को दूर करने के लिए .NET के मेटाडेटा प्रारूप का उपयोग किया।
यह एक बहुत अच्छा विचार था, कई .NET उपकरण मेटाडेटा का उपयोग कर सकते हैं। कंपाइलर्स और डिस्सेबलर्स की तरह, उन्हें सभी बुनियादी ढांचे को जगह में रखना नहीं था। लेकिन यह संदर्भ असेंबली की भूमिका निभाता है, केवल संकलक इसकी सामग्री का उपयोग करता है और इसे कभी भी तैनात नहीं किया जाना चाहिए। अभी आप बहुत ज्यादा है कि अच्छे विचार पसंद नहीं है :)
हालांकि यह एक ClickOnce तैनाती के लिए तय करने के लिए बहुत आसान है। प्रोजेक्ट> गुण> टैब प्रकाशित करें> एप्लिकेशन फ़ाइलें बटन का उपयोग करें। Windows.winmd "बहिष्कृत करें" के लिए "स्थिति प्रकाशित करें" चयन बदलें। नमूना परियोजना स्क्रीन-शॉट:
यह बहुत स्पष्ट है कि आप "माइक्रोसॉफ्ट इंस्टालर" क्या इसका मतलब यह नहीं है, मैं तुम्हें एक सेटअप परियोजना के बारे में बात मान लेंगे। यद्यपि पुरानी समस्याओं के कारण विजुअल स्टूडियो से हटा दिया गया है, यह अभी भी गैलरी में उपलब्ध है।
दरार करने के लिए एक कठिन अखरोट है कि, आप सामान्य रूप से जोड़ें> परियोजना आउटपुट संदर्भ मेनू प्रविष्टि का उपयोग यह निर्भरता पता लगाने जाने के लिए चाहते हैं। यही कारण है कि अब और काम नहीं करता है, यह दुखी गैर descript त्रुटि संदेश के साथ मर जाता है:
ERROR: An error occurred while validating. HRESULT = '80070057'
त्रुटि कोड का अर्थ है "अमान्य पैरामीटर", समस्या को कम करने में मदद नहीं करता। लेकिन आप सुरक्षित रूप से मान सकते हैं कि यह .exe विधानसभा में Windows.winmd संदर्भ को हल करने की कोशिश कर रहा पर मर जाता है।
कामकाज पर निर्भरता को स्वतः पहचानने दें लेकिन उन्हें स्वयं चुनें। "लक्ष्य मशीन पर फ़ाइल सिस्टम" शीर्षक वाली संपादक स्क्रीन से, एप्लिकेशन फ़ोल्डर का चयन करें। "प्राथमिक आउटपुट ..." पर राइट-क्लिक करें और हटाएं का चयन करें।
एप्लिकेशन फ़ोल्डर> जोड़ें> फ़ाइल पर राइट-क्लिक करें और बिन \ रिलीज़ फ़ोल्डर से प्रोजेक्ट की .exe फ़ाइल चुनें। अन्य फ़ाइलों के लिए दोहराएं, आप एक गाइड के रूप में सूचीबद्ध ClickOnce एप्लिकेशन फ़ाइलों में मिली फ़ाइल प्रविष्टि का उपयोग कर सकते हैं।
बिल्ड परियोजना, अब आप मिल:
WARNING: Unable to find dependency 'WINDOWS' (Signature='(null)' Version='255.255.255.255') of assembly 'WindowsFormsApplication144.exe'
कौन सा पूरी तरह से सौम्य है, हम इसे यह पता लगाने के लिए नहीं करना चाहते, Setup.exe कार्यक्रम ठीक काम करता है।
धन्यवाद @ हंसपैसेंट, मैं कल इसे आजमाउंगा क्योंकि अब मेरे पास केवल एक उबंटू लैपटॉप है। हां, "माइक्रोसॉफ्ट इंस्टालर" द्वारा, मेरा मतलब एक सेटअप प्रोजेक्ट था, मैंने इसे इसलिए कहा क्योंकि मैंने सोचा था कि क्योंकि यह विजुअल स्टूडियो सुविधा "माइक्रोसॉफ्ट इंस्टालर" प्रोग्राम की स्थापना के बाद मौजूद है ... – eeadev
यह क्लिकऑन के साथ काम करता है, लेकिन यह होगा एक एमएसआई फ़ाइल उत्पन्न नहीं, है ना? अगर मुझे एमएसआई चाहिए तो क्या होगा? – eeadev
आपको "माइक्रोसॉफ्ट इंस्टालर" से एमएसआई मिल रहा है जिसके बारे में आप बात कर रहे थे। यही वह परिदृश्य है जिसका मैंने परीक्षण किया था और जिसमें से मैंने त्रुटि संदेशों को कॉपी/पेस्ट किया था। –