Как правильно настроить библиотеку базовых классов dotnet для публикации в фиде NuGet в DevOps Azure?

Вы создали бы экземпляр Menu и напишите функцию, которая вызывает свой метод post() или tk_popup() .

В документации tkinter в настоящее время нет информации о tk_popup(). Прочитайте документацию Tk для описания или источника:

library/menu.tcl в источнике Tcl / Tk :

::tk_popup --
This procedure pops up a menu and sets things up for traversing
the menu and its submenus.

Arguments:
menu  - Name of the menu to be popped up.
x, y  - Root coordinates at which to pop up the menu.  
entry - Index of a menu entry to center over (x,y).  
        If omitted or specified as {}, then menu's  
        upper-left corner goes at (x,y).  

tkinter/__init__.py в источнике Python :

def tk_popup(self, x, y, entry=""):
    """Post the menu at position X,Y with entry ENTRY."""
    self.tk.call('tk_popup', self._w, x, y, entry)

Вы связываете свою функцию с помощью щелчка правой кнопкой мыши через: the_widget_clicked_on.bind("", your_function) .

Однако число, связанное с щелчком правой кнопкой мыши, не одинаково на каждой платформе.

library/tk.tcl в источнике Tcl / Tk :

On Darwin/Aqua, buttons from left to right are 1,3,2.  
On Darwin/X11 with recent XQuartz as the X server, they are 1,2,3; 
other X servers may differ.

Вот пример, который я написал, который добавляет контекстное меню в Listbox:

import tkinter # Tkinter -> tkinter in Python 3

class FancyListbox(tkinter.Listbox):

    def __init__(self, parent, *args, **kwargs):
        tkinter.Listbox.__init__(self, parent, *args, **kwargs)

        self.popup_menu = tkinter.Menu(self, tearoff=0)
        self.popup_menu.add_command(label="Delete",
                                    command=self.delete_selected)
        self.popup_menu.add_command(label="Select All",
                                    command=self.select_all)

        self.bind("", self.popup) # Button-2 on Aqua

    def popup(self, event):
        try:
            self.popup_menu.tk_popup(event.x_root, event.y_root, 0)
        finally:
            self.popup_menu.grab_release()

    def delete_selected(self):
        for i in self.curselection()[::-1]:
            self.delete(i)

    def select_all(self):
        self.selection_set(0, 'end')


root = tkinter.Tk()
flb = FancyListbox(root, selectmode='multiple')
for n in range(10):
    flb.insert('end', n)
flb.pack()
root.mainloop()

Использование grab_release() наблюдалось в примере на effbot

G9]. Его влияние может быть не одинаковым для всех систем.

0
задан Victor P 21 March 2019 в 22:53
поделиться

2 ответа

Как правильно настроить библиотеку базового класса dotnet для публикации в фиде NuGet в DevOps Azure?

Когда вы получили эту ошибку " Не найдено пакетов, соответствующих запросу pattern ", это означает, что задача nuget push не получила файл пакета nuget. Возможно, пакет не создан или путь к пакету (ам) NuGet для публикации неверен.

Итак, для решения этой проблемы, во-первых, нам нужно сгенерировать этот пакет nuget. Чтобы сгенерировать пакет, нам нужно добавить nuget pack task в конвейер или добавить следующее свойство в файл проекта .csproj:

  <PropertyGroup>
    <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
  </PropertyGroup

Мы могли бы проверить, сгенерирован ли этот пакет из журнала сборки или используя copy и publish build artifacts задание.

Если пакеты сгенерированы, нам нужно проверить, верен ли путь к пакету (ам) NuGet для публикации, я установил его как $(System.DefaultWorkingDirectory)/**/*.nupkg, и он отлично работает:

[ 119] enter image description here

enter image description here

Примечание. Если для создания пакета используется задача пакета nuget, путь к Пакет (-ы) NuGet для публикации должен быть путем к папке Package в задаче пакета nuget.

Надеюсь, это поможет.

0
ответ дан Leo Liu-MSFT 21 March 2019 в 22:53
поделиться

Проблема, похоже, заключалась в версиях .netstandard SDK, на которые ссылался проект. Я обновил все с 2.0 до 2.2, и команда dotnet pack теперь работает.

0
ответ дан Victor P 21 March 2019 в 22:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: