يمكن أن تستفيد حزمة dotnet lambda (وبالتالي ، يمكن أن ينطبق هذا على أي أمر dotnet-lambda آخر يعمل dotnet publish
تحت غطاء المحرك) من خيار --no-restore
الذي سيتم تمريره إلى dotnet publish
.
منذ 2.0 ، تقوم الأوامر build
و publish
بتشغيل restore
ضمنيًا ، لذلك أضاف فريق dotnet علامة - no-restore
للسيناريوهات التي لا تريد فيها استعادة ضمنية. هذه وظيفة مهمة حقًا لسيناريوهات CI حيث نقوم بالاستعادة من مستودع Nuget داخلي ونحتاج إلى التحكم في مصادر الحزم في وقت الإنشاء. سيبدو بناء CI النموذجي في هذا السيناريو كما يلي:
dotnet restore -s https://private-nuget-repository.myorg.com
dotnet lambda package --no-restore
باستخدام الإصدار 2.1.0 من Amazon.Lambda.Tools
يمكنك استخدام مفتاح التبديل --msbuild-parameters
لتمرير الوسائط إلى الأمر dotnet publish
. حتى تتمكن من الجري
dotnet lambda package --msbuild-parameters "--no-restore"
normj شكرا على المعلومات! هل تم توثيق هذا بالفعل في أي مكان؟ لأنني حاولت وبحثت عن الخيارات المختلفة التي كانت متاحة ولكني لم أجد أي شيء في تعليمات CLI أو في الملفات التمهيدية للمستودع - لذلك أود أن أعرف ما إذا كنت قد فاتني شيء تمامًا ، أو ما إذا كانت هذه فرصة لتحسين توثيق.
تم القيام بذلك مؤخرًا لمشكلة GitHub أخرى. https://github.com/aws/aws-lambda-dotnet/issues/210
إذا كنت تفعل dotnet lambda help package
يمكنك رؤية التبديل
> dotnet lambda help package
AWS Lambda Tools for .NET Core functions (2.1.1)
Project Home: https://github.com/aws/aws-lambda-dotnet
package:
Command to package a Lambda project into a zip file ready for deployment
dotnet lambda package [arguments] [options]
Arguments:
<ZIP-FILE> The name of the zip file to package the project into
Options:
-pl | --project-location The location of the project, if not set the current directory will be assumed
-c | --configuration Configuration to build with, for example Release or Debug (Default Value: Release)
-f | --framework Target framework to compile, for example netcoreapp2.0 (Default Value: netcoreapp2.0)
--msbuild-parameters Additional msbuild parameters passed to the 'dotnet publish' command
-o | --output-package The output zip file name
-dvc | --disable-version-check Disable the .NET Core version check. Only for advanced usage.
C:\temp\NoPublish\src\NoPublish
>
من المسلم به أنه تمت إضافته لتمرير معلمات msbuild ولكن المفتاح --no-restore
يعمل أيضًا. ربما كان علي أن أسميها شيئًا مختلفًا.
شيء آخر يجب اتباعه هو RELEASE.CHANGELOG.md الذي يمكنك رؤيته في الإصدار الأسبوع الماضي عندما تم تقديم المفتاح.
normj آه أنت منقذ للحياة.
يجب تحديث الوثائق لتحديد كيفية بناء وسيطة معلمة البناء. لم أضع علامات اقتباس حول علامتي ولم أكن أعرف سبب فشلها. لا يوجد doco على موقع ويب AWS ، ولم تكن متأكدًا من مساعدة الأداة. تم العثور على الحل هنا.
نداء جيد حول تذكير الناس باقتباس القيمة.
التعليق الأكثر فائدة
باستخدام الإصدار 2.1.0 من
Amazon.Lambda.Tools
يمكنك استخدام مفتاح التبديل--msbuild-parameters
لتمرير الوسائط إلى الأمرdotnet publish
. حتى تتمكن من الجري