الحصول على قيمة وسيطة من TextTransform.exe في قالب

StackOverflow https://stackoverflow.com/questions/1221651

  •  10-07-2019
  •  | 
  •  

سؤال

وأنا لا يمكن العثور على بعض المثال كيف يمكنني استخدام حجة -a عند استخدام TextTransform.exe لتوليد رمز من القوالب. في MSDN يتابع وصف ل-a حجة:

<اقتباس فقرة>   

و"تعين المعلمة أن التوجيه   المعالج يمكن الاستعلام عن باعتباره   اسم / زوج قيمة. التوجيه   المعالج ومعرف اختيارية.   وهذا يسمح المعلمات إلى أن تكون محددة   لأي معالج التوجيه أو أي   مثيل توجيه معين   معالج ".

وانا بحاجة الى بعض مجموعة من الحجج مثل سلسلة الاتصال وهلم جرا في قالب بلدي. كانت فكرتي للحصول على المسار إلى ملف التكوين مع مساعدة من -a حجة.

والتحيات انطون Kalcik

وUPDATE: أن يكون واضحا بما فيه الكفاية، أريد قراءة المعلمات مباشرة في القالب

.
هل كانت مفيدة؟

المحلول

وأدوات التحول قالب نص (T4) هي من مايكروسوفت لم تدعم بشكل جيد جدا. أمثلة قليلة فقط. إذا كنت تريد أن تعرف المزيد الذهاب إلى Olegs Sychs بلوق . T4 هنا شرح عميق جدا.

وبعد ساعات لمحاولة الحصول على المعلمات من TextTransform.exe في قالب بلدي وجدت حلا:

إضافة السمة hostspecific="true" إلى template عنصر كما يلي:

<#@ template language="C#v3.5" hostspecific="true"#>

وفي وقت لاحق في قالب يمكنك الاتصال ResolveParameterValue كما ذكر أوليغ.

مثال:

<#

 string parameterTest = Host.ResolveParameterValue(null, null, "someKey");
 WriteLine(parameterTest);

#>

واستدعاء مولد قالب ذلك:

"C:\Program Files\Common Files\Microsoft Shared\TextTemplating\1.2\TextTransform.exe" -a !!someKey!someValue

وبعد توليد يجب أن يكون في الملف الذي تم إنشاؤه: 'someValue'

نصائح أخرى

والحجة -وهي تقبل القيم في الشكل التالي:

<ProcessorName>!<DirectiveID>!<ParameterName>

وهذه هي أيضا معالم ITextTemplatingEngineHost .ResolveParameterValue الطريقة التي تحتاج إلى استدعاء من أجل الحصول على قيمة المعلمة في التعليمات البرمجية القالب.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top