Как использовать преобразование Web.Config для добавления новой строки подключения? [Дубликат]

Они делают то же самое. Фактически, документы для распространения модулей Python были только что обновлены , предлагая использовать python -m pip вместо исполняемого файла pip, потому что легче сказать, какая версия python будет использоваться для фактического запуска pip.

Изменить:

Вот еще несколько конкретных «доказательств», за исключением того, что я доверяю своему слову и отчет об ошибке, который я связал:)

Если вы посмотрите на исполняемый скрипт pip, он просто делает это:

from pkg_resources import load_entry_point

load_entry_point('pip==1.5.4', 'console_scripts', 'pip')()

Он вызывает load_entry_point , который возвращает функцию, а затем выполняет это функция. Используемая точка входа называется 'console_scripts'. Если вы посмотрите файл entry_points.txt для pip (/usr/lib/python2.7/dist-packages/pip-1.5.4.egg-info/entry_points.txt на моей машине Ubuntu), вы увидите это:

[console_scripts]
pip = pip:main
pip2.7 = pip:main
pip2 = pip:main

Таким образом, возвращаемая точка входа является функцией main в модуле pip.

Когда вы запускаете python -m pip, вы выполняете __main__.py внутри пакета pip. Это выглядит так:

import sys
from .runner import run

if __name__ == '__main__':
    exit = run()
    if exit:
        sys.exit(exit)

И функция runner.run выглядит так:

def run():
    base = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    ## FIXME: this is kind of crude; if we could create a fake pip
    ## module, then exec into it and update pip.__path__ properly, we
    ## wouldn't have to update sys.path:
    sys.path.insert(0, base)
    import pip
    return pip.main()

Как вы можете видеть, это просто вызывает функцию pip.main, тоже , Таким образом, обе команды в конечном итоге вызывают одну и ту же функцию main в pip/__init__.py.

85
задан jrummell 14 June 2012 в 16:07
поделиться

2 ответа

Вы можете использовать преобразование Insert:

 <resizer>
    <plugins>
      <add name="AzureReader" connectionString="DataConnectionString" 
           xdt:Transform="Insert" />
    </plugins>
  </resizer>

Синтаксис преобразования Web.config для развертывания проекта веб-приложения

171
ответ дан jrummell 5 September 2018 в 07:01
поделиться

Если вы хотите сделать это с помощью XSLT, вот несколько советов, поскольку у меня нет времени прямо сейчас, чтобы выбить это.

  1. Посмотрите на преобразование идентичности. Это даст вам простой XSLT, который дублирует именно то, что читается.
  2. Добавьте шаблон выше общих шаблонов со следующим совпадением match="add[@name='MvcRoutingShim']"
  3. . Внутри шаблона выведите элемент, который вы обрабатываете, используя xsl:copy, а затем выведите элемент добавления AzureReader

Это должно вас заставить.

Убедитесь, что у вас есть редактор XML, который позволяет вам делать преобразования, чтобы вы могли экспериментировать локально, пока не получите правильное решение.

0
ответ дан Liam 5 September 2018 в 07:01
поделиться
Другие вопросы по тегам:

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