2013-05-23 6 views
5

मैं वीएस2012 के साथ एमएसबिल्ड कमांड लाइन का उपयोग करके अपनी डब्ल्यूसीएफ सेवा लाइब्रेरी प्रकाशित करना चाहता हूं, मैं सही क्लिक नहीं करना चाहता-> वेबसाइट प्रकाशित करें, इसके बजाय मैं इसे कमांड प्रॉम्प्ट (एमएसबिल्ड) का उपयोग करके प्रकाशित करना चाहता हूं। MSBuild के लिए आवश्यक पूर्व-आवश्यकताएं क्या हैं? मेरे पास विंडोज़ एज़ूर नहीं है, विंडोज़ एज़ूर स्थापित करना जरूरी है? क्या मैं इसे प्राप्त करने के लिए जान सकता हूं? मैं एमएसबिल्ड के लिए नया हूं, क्या मैं जानता हूं कि इस कार्य को चरण-दर-चरण तरीके से कैसे प्राप्त किया जाए? मैं .svc फ़ाइल चाहता हूं, सभी डीएलएल बिन फ़ोल्डर और वेब कॉन्फ़िगरेशन फ़ाइल के अंदर प्रकाशित फ़ोल्डर के अंदर मौजूद होना चाहिए। कृपया मेरी मदद करें।वीएस 2012 में एमएसबिल्ड कमांड लाइन का उपयोग करके मेरी डब्ल्यूसीएफ सेवा पुस्तकालय कैसे प्रकाशित करें?

उत्तर

1

आपका समाधान ठीक है और आपके होस्ट पर सीधे तैनात करने के लिए काम करेगा (अपने बिल्ड कॉन्फ़िगरेशन को शामिल करना न भूलें ताकि यह सही कॉन्फ़िगरेशन ट्रांसफॉर्म प्रकाशित कर सके)।

एक और विकल्प आपकी साइट को स्थानीय फ़ोल्डर में "प्रकाशित" करना है और फिर इसे अपने मेजबान पर अलग से अपलोड करना है। यह आपको एक ज़िप में साइट को संग्रहीत करने का मौका देता है, पोस्ट चेक और समस्या निवारण करता है।

तुम इतनी तरह कर सकते हैं:

<MSBuild Projects="WebProject.csproj" 
    Targets="Rebuild;_WPPCopyWebApplication" 
    Properties="WebProjectOutputDir=WebProject\;UseWPP_CopyWebApplication=True;PipelineDependsOnBuild=False;" /> 

आप अटक वहाँ publishing WCF, ASP.NET and MVC projects बारे में अधिक जानकारी नहीं है मिलता है।

+0

मैंने आपके सहायक ब्लॉग को पढ़ लिया है और मिश्रित सफलता प्राप्त की है। मेरी डब्ल्यूसीएफ परियोजनाओं में से एक मुझे त्रुटि दे रहा है, "त्रुटि एमएसबी 4057: लक्ष्य" _WPPCopyWebApplication "परियोजना में मौजूद नहीं है।" मेरा csproj Microsoft.WebApplication.targets आयात नहीं करता है। मैंने इसे जोड़ने की कोशिश की, लेकिन इससे मदद नहीं मिली। यह एक विरासत परियोजना थी जिसे पिछले वर्ष के भीतर वीएस2012 में अपग्रेड कर दिया गया था। किसी भी सलाह की सराहना की जाएगी। –

+0

इसे देखे बिना कहना मुश्किल है, लेकिन आप $ (MSBuildExtensionsPath) –

+0

के बजाय $ (MSBuildExtensionsPath32) का उपयोग करने का प्रयास कर सकते हैं मैंने एक अन्य csproj फ़ाइल से आयात विवरण कॉपी किया था। मुझे एहसास हुआ कि उस पर एक सशर्त था जो पूरा नहीं हुआ था। एक बार मैंने इसे हटा दिए जाने के बाद, मैं _WPPCopyWebApplication लक्ष्य का उपयोग करने में सक्षम था। हालांकि, अब यह मेरी डब्ल्यूसीएफ सेवा के लिए ".svc" फ़ाइल उत्पन्न नहीं करता है। –

0

आप इसके साथ प्रयास कर सकते हैं।

एसवीसी फ़ाइल मैन्युअल रूप से पहली बार उपयोग के लिए जेनरेट की गई थी और फिर परियोजना में जोड़ा गया था।

सामग्री शामिल करें = "*। Svc" ---- इसे वीएस प्रकाशन विकल्प द्वारा उत्पन्न फ़ाइल के नाम से बदलें।

<ItemGroup> 
    <Content Include="*.svc"> 
    <CopyToOutputDirectory>Always</CopyToOutputDirectory> 
    </Content> 
</ItemGroup> 
<ItemGroup> 
    <WebConfig Include="App.config" /> 
</ItemGroup> 
<Target Name="AfterBuild"> 
    <Copy SourceFiles="@(WebConfig)" DestinationFiles="$(OutDir)web.config" /> 
</Target> 
संबंधित मुद्दे