Как изменить каталог по умолчанию для создания DLL-файлов после сборки с помощью среды выполнения и проверки? - PullRequest
1 голос
/ 19 июня 2019

Я хочу переместить все .dll в папку "lib" после сборки моего приложения.Программа по умолчанию создает их в каталоге:

bin \ Debug \ netcoreapp2.2

И это каталог, где я хочу разместить свои .dll:

bin \ Debug \ netcoreapp2.2 \ lib

Я создаю скрипт, который перемещает мои DLL-файлы в эту папку и помещает его в событие после сборки.Работает правильно.

Затем я добавляю среду выполнения в свой файл app.config, как я видел во многих руководствах и статьях по stackoverflow.

<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <probing privatePath="lib"/>
</assemblyBinding>
</runtime>

Но после сборки и запуска моей программы консоль говорит:

Приложение для выполнения не существует: app \ bin \ Debug \ netcoreapp2.2\ myDLL.dll

Я хочу знать, что не так с моим приложением?Как я могу изменить каталог, в котором программа ищет .dlls?

1 Ответ

0 голосов
/ 19 июня 2019

Полагаю, вам нужен элемент codebase в конфигурации.

Из документации . Если сборка имеет строгое имя, настройка кодовой базы может быть где угодно в локальной интрасети или в Интернете. Если сборка является частной сборкой, параметр кодовой базы должен быть путем относительно каталога приложения.

<configuration>
   <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
         <dependentAssembly>
            <assemblyIdentity name="myAssembly"
                              publicKeyToken="32ab4ba45e0a69a1"
                              culture="neutral" />
            <codeBase version="2.0.0.0"
                      href="http://www.litwareinc.com/myAssembly.dll"/>
         </dependentAssembly>
      </assemblyBinding>
   </runtime>
</configuration>

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

...