2015-12-18 7 views
10

मैंने देखा है कि जब मैं नई एएसपी.NET प्रोजेक्ट प्रकाशित करता हूं, तो यह सभी गैर-कोड फ़ाइलों को संकुल में रूट फ़ोल्डर में रखता है। जैसे इन फ़ाइलों को वहाँ अंत:फ़ाइलों को ASP.NET कोर में प्रकाशित होने से कैसे बाहर निकालना है?

  • प्रोफाइल
  • gulpfile.js

प्रकाशित फ़ोल्डर में शामिल करने के लिए कोई वास्तविक जरूरत नहीं है प्रकाशित करें। पुराने समाधानों में यह उन्हें बाहर करने के लिए फ़ाइलों के गुणों को संशोधित करने जितना आसान था। अब गुण कुछ पूरी तरह से अलग करते हैं और एक बेकार संवाद खोलते हैं जहां आप केवल फ़ाइल का पथ देख सकते हैं। शायद कुछ और तरीका करना संभव है? आदर्श रूप से आईडीई इन सामान्य फ़ाइलों को प्रकाशित न करने के लिए पर्याप्त स्मार्ट होना चाहिए, लेकिन कुछ कस्टम के लिए इसे बाहर करने का एक तरीका होना चाहिए।

यह निश्चित रूप से एक समस्या का इतना बड़ा नहीं है कि कुछ अतिरिक्त फाइलें प्रकाशित हो जाती हैं, लेकिन यह उन्हें बाहर करने के लिए भी समझ में आता है।

पीएस संभावित प्रस्तावित डुप्लिकेट समान नहीं है, क्योंकि यह केवल पुरानी परियोजना/समाधान संरचना के साथ ही व्यवहार करता है, जबकि एएसपी.नेट कोर ने एक नया परिचय दिया जहां दूसरा समाधान लागू नहीं है।

आप .pubxml फ़ाइल सीधे संपादित कर सकते (यह सिर्फ एक्सएमएल है) तत्वों को जोड़ने के:

+0

संभावित डुप्लिकेट [दृश्य स्टूडियो में प्रकाशित वेबसाइट से फ़ाइलों को बाहर निकालें] (http://stackoverflow.com/questions/650875/exclude-files-from-web-site-publish-in-visual-studio) – Richard

+1

यह काफी डुप्लिकेट नहीं है, एएसपी की संरचना।नेट 5 फाइलें अलग-अलग हैं और यह करने के अन्य उचित तरीके हो सकते हैं, खासकर अगर आप खाते में बिल्ड लेते हैं (यह तब तक प्रकाशन करता है जब पैकेजिंग को तब तक पढ़ा जाता है जब तक मैं समझता हूं)। सुझाया गया डुप्लिकेट अन्य प्रकार की परियोजनाओं/समाधानों के लिए है। –

+0

वास्तव में यह नहीं है। एमवीसी 5 और एएसपी.नेट 5 और बहुत अलग: एमएस से वास्तव में अनुपयोगी संस्करण। – Richard

उत्तर

10

डिफ़ॉल्ट रूप से प्रोजेक्ट में प्रोजेक्ट.जेसन युक्त निर्देशिका में सभी कोड फ़ाइलों को शामिल किया गया है। आप project.json के अनुभागों को शामिल/बहिष्कृत करने के साथ इसे नियंत्रित कर सकते हैं।

सबसे आम वर्गों है कि आप सहित और फ़ाइलों को छोड़कर के लिए दिखाई देंगे:

{ 
    "compile": "*.cs", 
    "exclude": [ 
    "node_modules", 
    "bower_components" 
    ], 
    "publishExclude": [ 
    "**.xproj", 
    "**.user", 
    "**.vspscc" 
    ] 
} 
  • संकलन खंड निर्दिष्ट करता है कि केवल वे फ़ाइलें .cs संकलित किया जाएगा।
  • बहिष्कृत अनुभाग node_modules और bower_components निर्देशिका में किसी भी फाइल को शामिल नहीं करता है। भले ही अनुभागों में .cs एक्सटेंशन हैं।
  • प्रकाशित करें अनुभाग अनुभाग आपको से अपनी परियोजना के प्रकाशित आउटपुट से फ़ाइलों को बाहर करने की अनुमति देता है। इस उदाहरण में, सभी .xproj, .user, और प्रकाशित कमांड के आउटपुट से .vspscc फ़ाइलें।

From here

+0

आप फ़ोल्डर को कैसे बाहर निकालते हैं? 'publExclude' में फ़ोल्डर का नाम लिखना काम नहीं कर रहा है। –

+2

ऐसा लगता है कि यह नवीनतम आरसी 2 बिट्स में थोड़ा सा बदल गया है। प्रकाशित करें अब आरटीएम संस्करण में कोई विकल्प नहीं है https://github.com/aspnet/Announcements/issues/175#include- संरचना –

+1

आप प्रकाशन विकल्प> बहिष्कृत फ़ाइल का उपयोग कर सकते हैं – JGeerWM

0

आप उपयोग कर रहे वी.एस. प्रोफाइल प्रकाशित मान लिया जाये कि

<ExcludeFoldersFromDeployment> 
    images;document 
</ExcludeFoldersFromDeployment> 
<ExcludeFilesFromDeployment> 
    mystyle.css 
</ExcludeFilesFromDeployment> 

कहाँ प्रत्येक तत्व एक सेमी-कोलन अलग की गई सूची में शामिल फ़ोल्डर या फ़ाइल नाम (क्रमशः) के। वाइल्डकार्ड समर्थित हैं।

+0

यह नया एएसपी.NET 5 के साथ ऐसा लगता है कि यह काफी काम नहीं करता है, मैंने यह किया: gulpfile.js , लेकिन फ़ाइल अभी भी कॉपी की गई थी। –

+0

@IlyaChernomordik: मैंने github पर उस मुद्दे को पोस्ट किया है => https://github.com/aspnet/vsweb-publish/issues/73 –

0

मुझे पता चला कि @Shane न्यूविल की टिप्पणी से ऊपर सटीक है। प्रोजेक्ट.जेसन फ़ाइल संरचना बदल गई है और अब, "publExclude" का उपयोग करने के बजाय, हमें "बहिष्कृत" का उपयोग करना चाहिए ... मेरे प्रोजेक्ट.जेसन फ़ाइल सेक्शन के अलावा document explaining the change का लिंक यहां दिया गया है:

{ 
    "publishOptions": { 
     "include": [ 
      "wwwroot", 
      "**/*.cshtml", 
      "appsettings.json", 
      "appsettings.*.json", 
      "web.config" 
     ], 
     "exclude": [ 
      "**/node_modules" 
     ] 
    } 
} 
संबंधित मुद्दे

 संबंधित मुद्दे