Неразрешенная сборка с песочным замком

Я пытаюсь сгенерировать документацию с помощью файла builder. При создании проекта в sandcastle я получаю следующую ошибку.

MRefBuilder : error : Unresolved assembly reference: Microsoft.Owin (Microsoft.Owin, Version=2.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35) required by Microsoft.AspNet.Identity.Owin [C:\Users\inkosah\Documents\Help\Working\GenerateRefInfo.proj]
Last step completed in 00:01:19.4610

Может кто-нибудь помочь мне решить эту проблему? Я также попытался добавить его отдельно к проектам в sandcastle, но без помощи.

Ответ 1

Решение 1: добавьте недостающие ссылки на фиктивный проект.

  • Создать 'dummyProject' (т.е. библиотеку классов)
  • В Visual Studio - консоль диспетчера пакетов

    Установочный пакет Microsoft.Owin -Version 2.1.0.0 -ProjectName dummyProject

    Установочный пакет Microsoft.Owin.Security.OAuth -version 2.1.0.0 -ProjectName dummyProject

  • В Sandcaple Help Fil Builder - Project Explore, добавьте две ссылки

    Microsoft.aspNet.identity.Owin(dll найдено в.. \packages\Microsoft.AspNet.Identity.Owin.2.2.0\lib\net45)

    Microsoft.Owin(dll найдено в.. \packages\Microsoft.Owin.2.1.0\lib\net45\Microsoft.Owin.dll)

Похоже, что MRefBuilder обнаружил, что Microsoft.AspNet.Identity.Owin полагается на Microsoft.Owin(== v 2.1.0), а не на Microsoft.Owin( >= 2.1.0).

Основной проект по-прежнему использует Microsoft.Owin 3.0.1.0

Решение 2: игнорировать неразрешенные ссылки

В документации (или SHFB) Свойства/плагины проекта:

  • Добавить "Перенос привязки сборки" в разделе "Вставки этого проекта"
  • настройте его на "игнорировать, если неразрешенные" "Microsoft.Owin" и "Microsoft.Owin.Security.OAuth"