خاصية دالات

في the .NET الإصدار إطار العمل 4, خاصية دالات can be used إلى evaluate ‏‫MSBuild برامج نصية. خاصية دالات can be used wherever خصائص appear. Unlike tasks, خاصية دالات can be used outside of targets, و are evaluated قبل أي الهدف runs.

Without using ‏‫MSBuild tasks, you can read the النظام الوقت, يقارن سلاسل, مطابقة عادي expressions, و perform غير ذلك الاجراءات في your بنية برنامج نصي. ‏‫MSBuild will try إلى تحويل سلسلة إلى رقم و رقم إلى سلسلة, و make غير ذلك conversions كـ مطلوب.

خاصية دالة بناء الجملة

These are three kinds of خاصية دالات; each دالة has a different بناء الجملة:

  • سلسلة (مثيل) خاصية دالات

  • ثابت خاصية دالات

  • ‏‫MSBuild خاصية دالات

سلسلة خاصية دالات

الجميع بنية خاصية قيم are just سلسلة قيم. You can استخدم سلسلة (مثيل) وظائف إلى operate تشغيل أي قيمة الخاصية. For مثال, you can يفك الضغط the محرك أقراص اسم (the أول three حرف/ حروف) من a بنية خاصية that represents a كامل مسار بواسطة using this تعليمات برمجية:

$(ProjectOutputFolder.Substring(0,3))

ثابت خاصية دالات

في your بنية برنامج نصي, you can الوصول the ثابت خصائص و وظائف of many النظام فئات. إلى الحصول على القيمة خاصية ثابتة، استخدم بناء الجملة التالي, الموقع فئة هو اسم الفئة النظام و خاصية اسم الخاصية.

$([Class]::Property)

على سبيل المثال، يمكنك استخدام الإجراءات التالية تعليمات برمجية لتعيين خاصية بناء للوقت والتاريخ الحاليين.

<Today>$([System.DateTime]::Now)</Today>

إلى استدعاء أسلوب ثابت، استخدم بناء الجملة التالي, الموقع فئة هو اسم الفئة نظام الأسلوب هو اسم الأسلوب وهو من (معلمات) قائمة المعلمات للأسلوب:

$([Class]::Member(Parameters))

على سبيل المثال، إلى تعيين خاصية بنية إلى المعرف الفريد عمومي جديدة، يمكنك استخدام هذا برنامج نصي:

<NewGuid>$([System.Guid]::NewGuid())</NewGuid>

في دالات خاصية ثابتة، يمكنك استخدم أي أسلوب ثابت أو خاصية من هذه الفئات النظام:

  • System.Byte

  • System.Char

  • النظام.تحويل

  • النظام.التاريخ والوقت

  • النظام.عشري

  • System.Double

  • النظام.Enum

  • النظام.معرّف فريد عالمي

  • System.Int16

  • System.Int32

  • System.Int64

  • النظام.IO.مسار

  • النظام.Math

  • System.UInt16

  • System.UInt32

  • System.UInt64

  • System.SByte

  • System.Single

  • System.String

  • النظام.StringComparer

  • النظام.فترة زمنية

  • النظام.نص.RegularExpressions.Regex

  • Microsoft.بنية.Utilities.ToolLocationHelper

بالإضافة إلى ذلك، يمكنك استخدام إحدى الطريقتين التاليتين ثابتة و خصائص:

  • النظام.بيئة::سطر الأوامر

  • النظام.بيئة::ExpandEnvironmentVariables

  • النظام.بيئة::GetEnvironmentVariable

  • النظام.بيئة::GetEnvironmentVariables

  • النظام.بيئة::GetFolderPath

  • النظام.بيئة::GetLogicalDrives

  • النظام.IO.الدليل::GetDirectories

  • النظام.IO.الدليل::GetFiles

  • النظام.IO.الدليل::GetLastAccessTime

  • النظام.IO.الدليل::GetLastWriteTime

  • النظام.IO.الدليل::GetParent

  • النظام.IO.ملف::موجود

  • النظام.IO.ملف::GetCreationTime

  • النظام.IO.ملف::GetAttributes

  • النظام.IO.ملف::GetLastAccessTime

  • النظام.IO.ملف::GetLastWriteTime

  • النظام.IO.ملف::ReadAllText

استدعاء وظائف مثيل تشغيل خصائص ثابت

في حالة الوصول ثابت الخاصية التي تقوم بإرجاع مثيل كائن، يمكن استدعاء وظائف مثيل لهذا الكائن. إلى استدعاء أسلوب مثيل، استخدم بناء الجملة التالي, الموقع فئة هو اسم فئة "النظام"، هو خاصية اسم خاصية ، أسلوب اسم الأسلوب و من (معلمات) قائمة المعلمات للأسلوب:

$([Class]:: Property.Method(Parameters))

يجب أن يكون اسم الفئة مؤهل بشكل كامل بمساحة الاسم.

على سبيل المثال، يمكنك استخدام التعليمة البرمجية التالية لتعيين بنية الخاصية إلى التاريخ الحالي اليوم.

<Today>$([System.DateTime]::Now.ToString("yyyy.MM.dd"))</Today>

دالات خصائص ‏‫MSBuild

يمكنك الوصول إلى العديد من الطرق ثابتة في الإنشاء الخاصة بك لتوفير الحسابي، تمثل منطقية، و دعم حرف إلغاء. You الوصول these وظائف بواسطة using the following syntax, الموقع أسلوب هو the name of the أسلوب و Parameters هو the معلمة قائمة for the أسلوب.

$([MSBuild]::Method(Parameters))

على سبيل المثال، إلى إضافة خصائص إلى gether الاثنين والتي تحتوي على قيم رقمية، استخدم تعليمات برمجية التالية.

$([MSBuild]::Add($(NumberOne), $(NumberTwo))

هنا هو lهوt ‏‫MSBuild دالات خاصية:

توقيع دالة

الوصف

مزدوج إضافة (مزدوج، مضاعفة b)

إضافة ثنائية الثاني.

طويلة إضافة (طويلة a, b طويل)

قم بإضافة longs الثاني.

مزدوج طرح (مزدوج، مضاعفة b)

قم بطرح ثنائية الثاني.

طويلة بطرح (طويلة a, b طويل)

قم بطرح longs الثاني.

مزدوج ضرب (مزدوج، مضاعفة b)

قم بضرب ثنائية الثاني.

طويلة بضرب (طويلة، طويلة b)

قم بضرب longs الثاني.

مزدوج تقسيم (مزدوج، مضاعفة b)

قم بقسمة ثنائية الثاني.

طول تقسيم (طويلة، طويلة b)

قم بتقسيم longs الثاني.

Modulo(مزدوج a, مزدوج b) مزدوجة

modulo ثنائية الثاني.

Modulo(long a, long b) طويلة

modulo longs الثاني.

سلسلة Escape(string unescaped)

الهروب السلسلة طبقاً لقواعد escaping إلى ‏‫MSBuild.

سلسلة Unescape (سلسلة escaped)

unescape سلسلة وفقا ل ‏‫MSBuild escaping القواعد.

عدد صحيح BitwiseOr(int أول, int ثانية)

إجراء أحادي المعامل ORتشغيل أول و ثانية (اﻷول | ثانية).

عدد صحيح BitwiseAnd(int أول, int ثانية)

إجراء أحادي المعامل ANDتشغيل أول و ثانية (اﻷول & ثانية).

عدد صحيح BitwiseXor(int أول, int ثانية)

إجراء أحادي المعامل XORتشغيل أول و الثاني (أول ^ الثاني).

عدد صحيح BitwiseNot(int أول)

تنفيذ NOT(~أول) تمثل .

‏‫MSBuild GetRegistryValueFromView

‏‫MSBuild GetRegistryValueFromViewدالة خاصية يحصل على بيانات السجل النظام بإعطاء المفتاح السجل، والقيمة، و واحد أو المزيد السجل المرتبة طرق العرض. الالمفتاح و قيمة يتم البحث في كل طريقة عرض السجل في ترتيب حتى يتم العثور على.

يكون بناء الجملة لهذه دالة خاصية:

[‏‫MSBuild]:: GetRegistryValueFromView (keyName السلسلة valueName السلسلة، defaultValue الكائن وطرق عرض [] للكائن params)

يحتفظ النظام التشغيل Windows 64 بت HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node السجل المفتاح الذي يمثل HKEY_LOCAL_MACHINE\SOFTWARE السجل عرض لتطبيقات 32-بت.

بشكل افتراضي، "أحد تطبيقات 32 بت التي تعمل على WOW64 يصل إلى 32 بت السجل العرض وتطبيق 64 بت يصل إلى 64 بت السجل عرض.

تتوفر طرق العرض للتسجيل التالية:

عرض السجل

التعريف

RegistryView.Registry32

The 32-بت تطبيق السجل عرض.

RegistryView.Registry64

The 64-بت تطبيق السجل عرض.

RegistryView.الافتراضي

The السجل عرض that التلائمات the عملية that the تطبيق هو running تشغيل.

على سبيل المثال،

$([MSBuild]::GetRegistryValueFromView('HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Silverlight\v3.0\ReferenceAssemblies', 'SLRuntimeInstallPath', null, RegistryView.Registry64, RegistryView.Registry32))

gets the SLRuntimeInstallPath بيانات of the ReferenceAssemblies المفتاح, looking أول في the 64-بت السجل عرض و then في the 32-بت السجل عرض.

Nested خاصية دالات

خاصية دالات may be combined إلى نموذج المزيد complex دالات. على سبيل المثال،

$([MSBuild]::BitwiseAnd(32,   $([System.IO.File]::GetAttributes(tempFile))))

returns the value of the FileAttributes Archive bit (32 or 0) of the file given by the path tempFile. لاحظ وجود تعداد بيانات التي لا تظهر قيم بواسطة الاسم بخاصية دالات. يجب أن يستخدم القيمة الرقمية (32) بدلاً من ذلك.

كما قد تظهر بيانات التعريف في الدالات المتداخلة للخاصية. لمزيد من المعلومات، راجع تجميع ‏‫MSBuild.

راجع أيضًا:

المبادئ

خصائص ‏‫MSBuild

موارد أخرى

MSBuild