Как скопировать мою dll и другие двоичные файлы из папки bin на веб-сайте asp. net в конвейер azure DevOps - PullRequest
0 голосов
/ 10 июля 2020

Я только что создал конвейер azure из облака bitbucket и использовал сгенерированный по умолчанию файл yaml, когда я запускаю конвейер Run New, я получаю ошибки в VsBuild, говоря:

    Error CS0246: The type or namespace name 'RestSharp' could not be found (are you missing a using directive or an assembly reference?)

The RestSharp.dll находится в моей папке bin на веб-сайте asp. net.

Глядя на необработанные журналы, он говорит:

    2020-07-10T03:35:57.7771564Z           Considered "d:\a\1\s\mywebsite\Bin\RestSharp.dll", but it didn't exist.
    2020-07-10T03:35:57.7772002Z           For SearchPath "{TargetFrameworkDirectory}".
    2020-07-10T03:35:57.7772374Z           Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6\RestSharp.winmd", but it didn't exist.
    2020-07-10T03:35:57.7772874Z           Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6\RestSharp.dll", but it didn't exist.
    ...

Однако, когда я создаю VS 2019, есть нет ошибок сборки, так как я ссылаюсь на свои библиотеки DLL и двоичные файлы. Как мне исправить недостающие библиотеки DLL или бинарные файлы, на которые есть ссылки? Если мне нужно скопировать файлы из папки bin в каталог сборки, как?

1 Ответ

0 голосов
/ 13 июля 2020

Ошибка CS0246: не удалось найти тип или имя пространства имен RestSharp

Протестировано с использованием пути к файлу .dll в папке bin как HintPath. Я столкнулся с той же проблемой.

Кажется, что root причина этой проблемы в том, что RestSharp.dll не существует в папке Bin на момент обращения.

Это это мое решение для решения этой проблемы:

Шаг 1: Добавьте ссылку на пакет в файл Packages.config.

Например:

<?xml version="1.0" encoding="utf-8"?>
<packages>
.....
  <package id="RestSharp" version="106.11.4" targetFramework="net472" />
</packages>

Шаг 2: Измените RestSharp HintPath в .csproj файле. Поскольку вы добавляете ссылку на пакет, вы можете напрямую получить RestSharp.dll в пути к пакету.

Например:

<Reference Include="RestSharp">
  <Private>True</Private>
  <HintPath>..\packages\RestSharp.106.11.4\lib\net452\RestSharp.dll</HintPath>
</Reference>

Тогда RestSharp.dll может использоваться в сборке.

Кстати, я рекомендую вам превратить их в пакеты и восстановить их во время сборки. Тогда вы можете получить файлы dll в пути к пакету. Это поможет избежать вышеуказанной ошибки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...