Проблема с переносом проекта VB.Net с VS 2010 на VS 2017 - PullRequest
0 голосов
/ 29 ноября 2018

У нас есть 15-летний проект, который мы хотим переместить из Visual Studio 2010 в Visual Studio 2017. Проект прекрасно компилируется в VS 2010, но когда мы попытались переместить его в VS 2017, мы получили кучу ошибок.

По сути, у нас есть Businesslayer с классом Security:

<Serializable()> Public MustInherit Class Security
  Public Function GetPermission() As Boolean
  End Function
End Class

Затем у нас есть Domainlayer с набором классов, который использует Security:

<Serializable()> Public NotInheritable Class DomainClass
  Inherits BLL.Security
    Shadows Function GetPermission() As Boolean
    End Function
End Class

И, наконец,у нас есть проект Asp.Net, использующий функцию DomainClass:

Public Class PresentationLayerClass
   Private m_Domain As Domains.DomainClass
   m_Domain = new Domain.DomainClass()
   m_Domain.GetPermission()
End Class

Очевидно, что проект Asp.net имеет ссылку на домен, а домен имеет ссылку на Businesslayer.Когда мы компилируем это в VS 2017, мы получаем тысячи ошибок BC30653 на уровне представления:

BC30652 Reference required to assembly 'Business Logic Layer, Version=1.4.0.2, Culture=neutral, PublicKeyToken=null' containing the type 'Security'. Add one to your project.

Как мы решаем это?Мы хотим избежать добавления ссылки на Businesslayer в слой Asp.net.И чем это отличается в VS 2017?

[Edit:] Вещи, которые я пробовал:

  • Очистить и восстановить
  • Изменение ссылок на DLL вместопроекты
  • Я получаю ту же ошибку в новом решении с кодом выше, поэтому он не является специфическим для нашего решения.

1 Ответ

0 голосов
/ 03 декабря 2018

Мне кажется, я нашел ответ на свой вопрос в этой теме:

Почему VS 2015 требует ссылку на System.Data.Entity, а VS 2013 - нет?

Похоже, это связано с тем, как новый компилятор в VS 2015 обрабатывает переходные ссылки.Поэтому мне просто нужно добавить ссылку, которую он запрашивает.

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