2008-09-07 9 views
19

मैं एनएएनटी और एमएसबिल्ड का उपयोग करके स्थानीय रूप से एएसपीनेट एमवीसी वेब एप्लिकेशन प्रकाशित करने की कोशिश कर रहा हूं। मैं अपने एनएएनटी लक्ष्य के लिए उपयोग कर रहा हूं;MSBuild का उपयोग करके मैं एक Asp.NET वेब एप्लिकेशन कैसे प्रकाशित करूं?

<target name="publish-artifacts-to-build"> 
    <msbuild project="my-solution.sln" target="Publish"> 
     <property name="Configuration" value="debug" /> 
     <property name="OutDir" value="builds\" /> 
     <arg line="/m:2 /tv:3.5" /> 
    </msbuild> 
</target> 

और मुझे यह सब एक प्रतिक्रिया के रूप में मिलता है;

[msbuild]   Skipping unpublishable project. 

क्या इस तरह से कमांड लाइन के माध्यम से वेब अनुप्रयोगों को प्रकाशित करना संभव है?

उत्तर

21

"प्रकाशित करें" लक्ष्य जिसे आप आमंत्रित करने का प्रयास कर रहे हैं, "वनक्लिक" परिनियोजन के लिए है, वेबसाइट प्रकाशित करने के लिए नहीं ... यही कारण है कि आपको प्रतीत होता है कि यह विचित्र संदेश है। आप MSBuild कार्य के बजाय AspNetCompiler कार्य का उपयोग करना चाहते हैं। इस कार्य के बारे में अधिक जानकारी के लिए http://msdn2.microsoft.com/en-us/library/ms164291.aspx देखें। आपका "PublishDir" कार्य की TargetPath संपत्ति से मेल खाता है।

Source

14

मैं ऐसे समाधान के साथ आया था, मेरे लिए महान काम करता है:

msbuild /t:ResolveReferences;_WPPCopyWebApplication /p:BuildingProject=true;OutDir=C:\Temp\buidl\ Test.csproj 

गुप्त सॉस _WPPCopyWebApplication लक्ष्य है।

+0

_WPPCopyWebApplication कहां है? मेरे पास वीएस 2008 और vbproj है। – Kiquenet

+1

मुझे लगता है कि यह 2008 के लिए काम नहीं करेगा :(.. यह लक्ष्य यहां परिभाषित किया गया है: "सी: \ प्रोग्राम फ़ाइलें \ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ WebApplications \ Microsoft.WebApplication.targets" –

+1

यह उत्तर के लिए काम किया मुझे वीएस 2010 में। मैं एक बैच फ़ाइल का उपयोग कर रहा हूं जो एमएसबिल्ड को कॉल करता है। प्रकाशन कार्य कोड को तैनात कर रहा था, लेकिन यह मेरी कॉन्फ़िगरेशन सेटिंग की व्याख्या नहीं कर रहा था (इसलिए मुझे वेब.config, web.configuration.config को तैनात स्थान में मिला, और यह xdt ट्रांसफॉर्म नहीं किया था)। जब मैंने ResolveReferences का उपयोग किया; _WPPCopyWebAplication मेरी प्रकाशित फाइलें कॉन्फ़िगरेशन को अपेक्षित रूप से पार्स कर देती हैं, जिसके परिणामस्वरूप एक वेब.कॉन्फिग होता है जिसमें सभी परिवर्तन किए गए थे। –

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

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