Строка кода, которая вызывает в ней любое место, ссылающееся на тип System.Collections.Generic.Dictionary
, как в виде переменной, так и в Использовании декларации.Как исправить ошибки CS0433 в ASP.NET 5?
Это использование объявления работало нормально и делало мои классы менее отвратительными, чем писать System.Collections.Generic.Dictionary<string, object>
в 100 местах моего класса. Взятие деклараций использования не решает мою проблему, оно просто перемещает его в те места, где тип словаря используется в моих параметрах метода.
Полный текст ошибки:
CS0433 The type 'Dictionary<TKey, TValue>' exists in both
'System.Collections, Version=4.0.10.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a'
and
'mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089' ProjectName.DNX
Эта ошибка возникает в ASP.NET MVC-6 шаблонов проектов на основе с использованием DNX 1.0.0-beta7, имеющей некоторые модели и классы контроллеров, которые ссылаются на общие типы коллекций. Project.json устанавливается таким образом:
"frameworks": {
"dnx451": { }
}
Проблема образца происходит, если вы просто это сказать:
"frameworks": {
"dotnet": { }
}
строки кода, который вызывает это с помощью декларации, тип псевдоним сортировки, который работал нормально, пока я не попытаюсь преобразовать проект бета6 в бета7.
Конверсия продолжается до тех пор, пока я не попытаюсь добавить их с использованием псевдонимов JsonDictionary, а затем разрывы компиляции.
Я искал этот код ошибки и имеет длинную и бесславную историю в ASP.NET.
В чем причина этой проблемы? И как я могу это исправить, так как я не могу удалить mscorlib из моего проекта и не могу удалить System.Collections?
Почему вы не можете удалить ссылку на 'System.Collections.dll'? – Dai