का उपयोग कर बिल्ड पर टी 4 जेनरेट करना मैं वीएस2012 का उपयोग करके अपने प्रोजेक्ट के हर निर्माण पर कोड जेनरेट करने की कोशिश कर रहा हूं।वीएस 2012
मैं अपने समाधान में 3 परियोजनाएं हैं:
- परियोजना 1 कुछ वर्ग हैं
- परियोजना 2
- परियोजना 3 टेम्पलेट है कि एक json फ़ाइल को पढ़ने और फिर सामान्य फोन है सामान्य टेम्प्लेट है टेम्पलेट फॉर्म प्रोजेक्ट 2 अपनी फाइल जेनरेट करने के लिए।
जब मैं बिल्ड/ट्रांसफॉर्म ऑल टी 4 टेम्पलेट्स पर क्लिक कर रहा हूं, तो कोई समस्या नहीं है, पीढ़ी अच्छी तरह से चलती है।
लेकिन मैं अपने निर्माण को प्रत्येक बिल्ड पर स्वचालित रूप से इस चरण को शामिल करने के लिए कॉन्फ़िगर करने की कोशिश कर रहा हूं।
मैं अपने csproj के लिए इस कोड को शामिल किया है:
<Import Project="$MsBuildToolsPath)\Microsoft.CSharp.Targets" />
<PropertyGroup>
<TransformOnBuild>true</TransformOnBuild>
<OverWriteReadOnlyOutputFiles>true</OverWriteReadOnlyOutputFiles>
</PropertyGroup>
<Import Project="$(MSBuildExtensionPath32)\Microsoft\VisualStudio\v11.0\TextTemplating\Microsoft.TextTemplating.targets"/>
मैं अपने आप को रास्ता बना दिया है "\ Microsoft \ VisualStudio \ v11.0 \ TextTemplating \ Microsoft.TextTemplating.targets" क्या से मैं मेरे पीसी पर मिला। उदाहरण मैं से ले लिया था: get-visual-studio-to-run-a-t4-template-on-every-build
समस्या इस लाइन मैं उपयोग कर रहा हूँ से आता है: < # @ फ़ाइल को शामिल = "$ (SolutionDir) \ xxx \ yyy \ zzz \ mytemplate.tt">
और मैं त्रुटि प्राप्त: डी::
विफल फ़ाइल के लिए पाठ शामिल हल करने \ परियोजनाओं \ pppp \ QQQ \ eeee \ $ (SolutionDir) \ xxx \ yyy \ zzz \ mytemplate.tt
चूंकि टेम्पलेट "हाथ से" उत्पन्न होता है (सभी टी 4 टेम्पलेट्स बनाएं/ट्रांसफॉर्म करें), मुझे आश्चर्य है कि बिल्ड समय पर इसे उत्पन्न करने में समस्या क्या हो सकती है।
कोई विचार?
वह शामिल हो सकता है लेकिन असेंबली के बारे में क्या? मैंने उन्हें ढूंढने के लिए $ (SolutionDir) का उपयोग किया, मुझे एक ही तरह की त्रुटि है यदि मैं सापेक्ष पथ का प्रयास करता हूं। दिया गया असेंबली नाम या कोडबेस अमान्य था। आपकी मदद के लिए Thx। – Arthis
मैंने अंततः पूर्ण पथ का उपयोग किया क्योंकि कुछ भी ठीक से काम कर रहा था, और मुझे आगे बढ़ने की जरूरत थी। – Arthis
मुझे यकीन नहीं है कि सापेक्ष पथ में समस्या क्या थी, लेकिन आप 'होस्ट.रोलोलवेपाथ' विधि –