दिलचस्प पोस्ट
उड़ने पर .htaccess (PHP) के साथ उपडोमेन बनाएँ एंड्रॉइड में बाह्य भंडारण में एक फाइल लिखें जावास्क्रिप्ट के साथ एक वेब पेज से स्क्रीन स्क्रैपिंग http: //10.0.2.2 एंड्रॉइड एमुलेटर पर काम करता है, लेकिन एयूएमलेटर के रूप में इस्तेमाल किया एंड्रॉइड डिवाइस पर नहीं मैं फाइलों को जार फ़ाइल के अंदर कैसे सूचीबद्ध करूं? फायरबेज वाले वृद्धिशील बच्चों से प्रारंभिक डेटा लोड कैसे अलग करें? क्यों int * int ** में क्षय नहीं है लेकिन int ? जावा में गतिशील नामों के साथ चर को असाइन करना मैं अपने आईफोन सिम्युलेटर को .ipa फ़ाइल कैसे स्थापित कर सकता हूं I मैं सी या सी ++ का उपयोग कर निर्देशिका में फाइलों की सूची कैसे प्राप्त करूं? PostgreSQL 9.2 row_to_json () नीडिंत शामिल होने के साथ नक्शे के लिए स्वयं के तुलनक बनाएं PHP द्वारा HTTP प्रमाणीकरण लॉगआउट NSMutableURL अनुरोध समय के अंतराल को POST अनुरोधों के लिए विचाराधीन नहीं किया गया एकाधिक PHP सत्र

वहाँ एक तरह से asp.net परियोजना फ़ाइल में सामग्री फ़ाइलों को स्वचालित रूप से शामिल है?

मैं अक्सर अपने एएसपी.नेट परियोजना में बहुत सी सामग्री फाइलें (ज्यादातर चित्र और जेएस) जोड़ रहा हूं। मैं वीएस प्रकाशन प्रणाली का उपयोग कर रहा हूं, और प्रकाशित करने पर, नई फ़ाइलों को तब तक प्रकाशित नहीं किया जाता जब तक कि मैं उन्हें परियोजना में शामिल न करे मैं ऑटो को निर्दिष्ट निर्देशिका में सभी फाइलों में शामिल करना चाहूंगा निर्दिष्ट करने का एक तरीका है कि कौन सी निर्देशिकाओं को सीएसपीआरजे फ़ाइल में या कहीं और भी शामिल किया जाना चाहिए?

वेब के समाधान से एकत्रित समाधान "वहाँ एक तरह से asp.net परियोजना फ़ाइल में सामग्री फ़ाइलों को स्वचालित रूप से शामिल है?"

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

<Target Name="BeforeBuild"> <ItemGroup> <Content Include="**\*.less" /> </ItemGroup> </Target> 

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

आप अपनी वेबसाइट .csproj फ़ाइल का विस्तार कर सकते हैं सिर्फ एक रिकर्सिव वाइल्डकार्ड के साथ अपनी सामग्री रूट फ़ोल्डर जोड़ें:

 ... <ItemGroup> <!-- your normal project content --> <Content Include="Default.aspx" /> <!-- your static content you like to publish --> <Content Include="Images\**\*.*" /> </ItemGroup> ... 

ऐसा करने से आपके ब्राउज़र के अंदर दृश्यमान नीचे यह फ़ोल्डर और सभी सामग्री बनायी जाती है।

अगर आप निर्दिष्ट करके समाधान ब्राउज़र के अंदर फ़ोल्डर को छिपाने का प्रयास करते हैं

 <Content Include="Images\**.*.*"> <Visible>false</Visible> </Content> 

यह प्रकाशित नहीं किया जाएगा


अद्यतन करें

जैसा कि आप पहले से ही वाइल्डकार्ड की खोज करते हैं, जैसे ही आप अपने समाधान के अंदर फ़ोल्डर को स्पर्श करते हैं, वैसे ही बदल दिया जाएगा क्योंकि वी.एस. प्रोजेक्ट मनमानी सामग्री को नियंत्रित करने के लिए डिज़ाइन नहीं किए गए हैं।

तो आपको यह सुनिश्चित करना होगा कि फ़ोल्डर और इसके सामग्रियों को वी.एस. के भीतर से कभी भी संशोधित नहीं किया जाएगा- फाइल जोड़ने या हटाने से केवल फाइल सिस्टम पर ही किया जा सकता है … जो कि आप चाहते थे जैसा कि मैंने आपका प्रश्न समझ लिया।

यह आसान होगा यदि फ़ोल्डर वी.एस. में छिपाया जा सकता है लेकिन मुझे इसे छुपाने और प्रकाशित करने का कोई रास्ता नहीं मिल सका।

एक अन्य असफल दृष्टिकोण में एक CreateItem कार्य द्वारा फ़ोल्डर शामिल करना था। इसके परिणामस्वरूप फ़ोल्डर की सामग्री को \ bin \ app.publish \ … पर प्रकाशित किया गया था और इसे .csproj के अंदर सामग्री आइटम के साथ प्रकाशित करने के लिए आश्वस्त नहीं किया जा सकता था इसलिए मैंने इसे मेरे उत्तर में प्रस्तुत नहीं किया था

आप फ्रेमवर्क की System.IO.Directory.GetFile(string) विधि और इसके अधिभार का उपयोग करके सभी फाइलों को शामिल कर सकते हैं।

  <ItemGroup> <Content Include="$([System.IO.Directory]::GetFiles('$(ProjectDir)Scripts\', '*.js', SearchOption.AllDirectories))" /> <Content Include="$([System.IO.Directory]::GetFiles('$(ProjectDir)Images\', '*.png', SearchOption.AllDirectories))" /> </ItemGroup> 

मैंने लिखा है कि कैसे मैं सामग्री प्राप्त करने में सक्षम था एक छोटी सी powershell स्क्रिप्ट के साथ बनाया:

 $folders = Get-ChildItem .\ -r -Directory $filtered = $folders |Select-Object @{Name='FullName';Expression={$_.fullname.replace($pwd,'')}}, @{Name='FolderDepth';Expression={($_.fullname.Split('\').Count) - ($Pwd.Path.split('\').count)}} | Sort-Object -Descending FullName,folderDepth $basefolders = $filtered | Where-Object{$_.folderdepth -eq 1} $basefoldersobj = @() foreach($basefolder in $basefolders) { $basefoldername =$baseFolder.fullname $filteredbase = $filtered -match "\$basefoldername\\" | Sort-Object -Descending FolderDepth | Select-Object -first 1 if($filteredbase -eq $null) { $filteredbase = $filtered -match "\$basefoldername" | Sort-Object -Descending FolderDepth | Select-Object -first 1 } $obj = New-Object psobject Add-Member -InputObject $obj -MemberType NoteProperty -Name 'Folder' -Value $basefolder.fullname.trim('\') Add-member -InputObject $obj -MemberType NoteProperty -Name 'DeepestPath' -Value $filteredbase.folderDepth $basefoldersobj += $obj } $include = '*.*' foreach($bfolderObj in $basefoldersobj) { $includecount = '' $includecount = "\$include" * ($bfolderObj.Deepestpath) Write-Output "<content Include=`"$($bfolderObj.folder)$includecount`" /> " } 

यह पावरशेल्ड प्रॉम्प्ट पर आवश्यक शामिल स्टेटमेंट का उत्पादन करना चाहिए

आप इस तरह से लिंक के साथ फाइल जोड़ सकते हैं, वे खोज योग्य, दृश्य-सक्षम हैं, लेकिन अगर आप उन्हें बदलने का प्रयास करते हैं, तो वे चेकआउट नहीं करते, दृश्य स्टूडियो जगह में वाइल्डकार्ड छोड़ देता है:

  <ItemGroup> <Content Include="..\Database Schema\Views\*.sql"> <Link>Views\*.sql</Link> </Content> </ItemGroup> 

यह .proj फ़ाइल के अंदर है।

मेरी जानकारी मे नहीं; हालांकि मेरा सुझाव परियोजना में पेस्ट करना है क्योंकि इसमें उन्हें डिफ़ॉल्ट रूप से शामिल किया जाएगा इसलिए, एक्सप्लोरर के माध्यम से उन्हें निर्देशिका में चिपकाने के बजाय, दृश्य स्टूडियो का उपयोग फ़ोल्डरों में फ़ाइलों को चिपकाने के लिए करें।

मुझे एहसास हुआ कि इसके लिए सबसे अच्छा समाधान मैन्युअल रूप से फ़ाइलों को जोड़ना है, एक-एक करके अगर आपके पास सैकड़ों लोग हैं जैसे मैंने किया था, यह कुछ घंटों का मामला था। अजीब बात है कि 2016 में वीएस 2015 के साथ भी यह गंभीर समस्या अभी भी हल नहीं हुई है। आह, मैं कैसे Xcode प्यार करता हूँ