هل هناك طريقة لإجراء "تحديث التبعيات" في مشروع إعداد خارج VS2008؟
-
09-06-2019 - |
سؤال
لدي حل مع العديد من المشاريع.واحد منهم هو مشروع الإعداد.إذا قمت بتوسيع مشروع الإعداد في Solution Explorer، فسترى عقدة التبعيات المكتشفة.إذا قمت بالنقر بزر الماوس الأيمن عليه، فستحصل على عنصر قائمة يسمى تحديث التبعيات.يؤدي هذا إلى تحديث أي تبعيات بناءً على الملفات المضمنة في الإعداد.
أسأل ما إذا كان بإمكاني تنفيذ هذا الإجراء خارج Visual Studio، باستخدام إما devenv.com أو MSBuild.
أريد ذلك لأنني أستخدم CruiseControl.NET للتكامل المستمر وفي بعض الحلول وجدت أن مخرجات الإعداد تفتقد بعض التبعيات بسبب الطريقة التي أقوم بها ببناء المشاريع تلقائيًا.
تحديث:
اتضح أن الإعداد الخاص بي ليس مناسبًا جدًا لكيفية عمل مشاريع الإعداد في Visual Studio.انتهى بي الأمر باستخدام Post Build Events لإنشاء بنية التطبيق بالكامل جاهزة للنسخ إلى جهاز كمبيوتر والعمل خارج الصندوق.أنا لا أستخدم مشاريع الإعداد في Visual Studio بعد الآن، إلا إذا كنت مضطرًا لذلك.
المحلول
تسجيل أو إنشاء ماكرو:
Option Strict Off
Option Explicit Off
Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports System.Diagnostics
Public Module RefreshDependencies
Sub TemporaryMacro()
DTE.ActiveWindow.Object.GetItem("Project\Setup1\Setup1").Select(vsUISelectionType.vsUISelectionTypeSelect)
DTE.ExecuteCommand("Build.RefreshDependencies")
End Sub
End Module
ثم فقط اتصل بالماكرو في سطر الأوامر:
devenv /command "Macros.MyMacros.RefreshDependeency C:\MyProjects\MyApp\"