Я хочу установить плагин времени разработки для визуального расширения студии (т. Е. Работает при использовании визуальной студии, а не когда приложение работает). Это требует, чтобы я изменял app.config с записью, указывающей на DLL, содержащую код расширения. Плагин устанавливается через nuget, и если я добавлю эту dll в папку под проектом и использую фиксированный путь в app.config.install.xdt, тогда все будет работать нормально. Однако я хочу, чтобы xdt вставлял значение, указывающее на dll в папке пакетов, где оно устанавливается через nuget. Моя проблема в том, что относительный путь к папке nuget не фиксирован для проектов. Каждый проект может находиться в другой папке (несколько папок глубоко внутри папки решений), а не только в прямом дочерней папке решения, поэтому я хочу иметь возможность использовать некоторую переменную в моем xdt.Могу ли я найти папку пакетов для текущего решения при применении xdt?
В настоящее время у меня есть это в моем XDT:
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<specFlow>
<plugins xdt:Transform="InsertIfMissing">
<add name="NCrunch.Generator" path=".\SpecflowPlugins\" type="Generator" xdt:Transform="InsertIfMissing" xdt:Locator="Match(name)"/>
</plugins>
</specFlow>
</configuration>
, но я хочу что-то вроде этого:
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<specFlow>
<plugins xdt:Transform="InsertIfMissing">
<add name="NCrunch.Generator" path="$(SolutionDir)\packages\Specflow.Ncrunch.1.0.0\lib\net" type="Generator" xdt:Transform="InsertIfMissing" xdt:Locator="Match(name)"/>
</plugins>
</specFlow>
</configuration>
это возможно в XDT? если нет, есть ли еще один способ получить это, чтобы правильно настроить app.config при установке пакета nuget?
Мне нравится эта идея, спасибо. Я попробую и посмотрю, что я могу сделать. –
Я, наконец, добрался до этого, и даже если я изменю файл app.config.install.xdt, похоже, он использует неизмененную версию, когда она применяется. Мой app.config изменен, но, используя исходные значения, даже когда я открываю файл app.config.install.xdt из папки пакетов для решения, он содержит мои новые значения. Ну, похоже, мне нужно [изменить его в install.ps1] (http://stackoverflow.com/a/8449741/97614). –