#.net #silverlight #frameworks #mscorlib
#.net #silverlight #фреймворки #mscorlib
Вопрос:
Мне любопытно, что касается mscorlib
ссылки в разных шаблонах проекта.
Когда я создаю проект WPF, я не могу найти mscorlib
файл в папке reference. Я думаю, что на него ссылаются по умолчанию.
Когда я создаю проект Silverlight, я могу найти его в папке. Она ссылается на Silverlight framework. Затем я попытался удалить ее, и, конечно, она не может быть скомпилирована. Затем я попытался повторно добавить эту сборку в ссылку снова; она не может быть добавлена и больше не может быть скомпилирована. Это странно.
Когда я создаю проект MonoDroid, я все еще могу найти mscorlib
ссылку. Но после того, как я удалил эту ссылку, проект все еще можно скомпилировать; но я не уверен, что он работает нормально.
Кто-нибудь знает, что вызывает такое поведение?
Спасибо, Говард
Ответ №1:
Просто чтобы кому-то не пришлось это гуглить. Мне не хватало mscorlib и я нашел точный способ, который CuiPengFei предложил сделать это в файле проекта, здесь:Отзыв Microsoft Connect об обходном пути, который был опубликован Джеймсом Уайтманом 9.12.2009 в 2: 52 ниже:
Как я сказал в отчете об ошибке, одним из обходных путей является ручное добавление ссылки обратно в проект вручную путем редактирования файла csproj с помощью (например) notepad:
Найдите этот раздел в файле csproj — очевидно, если у вас есть другие / дополнительные ссылки, это то, что вы ищете:
<ItemGroup> <Reference Include="System.Windows" /> <Reference Include="system" /> <Reference Include="System.Net" /> <Reference Include="System.Xml" /> <Reference Include="System.Windows.Browser" /> </ItemGroup>
Добавьте строку для каждого из отсутствующих
ссылки — в данном случае, mscorlib
и система.Ядро — и ваш файл csproj
теперь должно выглядеть примерно так:<ItemGroup> <Reference Include="mscorlib" /> <Reference Include="System.Core" /> <Reference Include="System.Windows" /> <Reference Include="system" /> <Reference Include="System.Net" /> <Reference Include="System.Xml" /> <Reference Include="System.Windows.Browser" /> </ItemGroup>
Комментарии:
1. Это должно быть принятым ответом здесь. Я также хотел бы добавить, что после включения ссылки вам может потребоваться перезапустить Visual Studio, прежде чем она начнет работать
Ответ №2:
Это известная проблема, которую не удастся исправить для VS2010. Обходной путь заключается в редактировании файла проекта и повторном добавлении ссылки вручную.