Создание встроенного набора инструментов .Net для проекта приводит к внутренней ошибке компилятора: элемент с таким же ключом уже добавлен - PullRequest
0 голосов
/ 08 декабря 2018

У меня есть решение с 3 проектами плюс один проект упаковки, и один из проектов отказывается создавать - но только для релиза.Отладка в порядке.Проект называется Foreground, а пространство имен ForeGsp содержит класс App в App.xaml.cd, а в MainPage.xaml.cs есть класс MainPage и Item.Теперь, как только я добавлю ссылку на свой фон (Entrypoint: Background.BackgroundTask), в пространстве имен Background, в классе BackgroundTask, имени сборки и пространстве имен по умолчанию Background, мой проект откажется строить для выпуска, потому чтоInternal compiler error: An item with the same key has already been added.Отладка все еще работает на 100%.Я немного растерялся относительно того, почему это так.Кроме того, фон строится самостоятельно без каких-либо проблем.

Я уже пытался удалить свое приложение и запустить VS от имени администратора.Очистка / перестройка также не помогла, и использование только этих двух проектов не имело значения.Что еще я могу сделать?

Редактировать: По какой-то причине эта проблема возникает, только если Foreground включил Компиляцию с нативной цепочкой инструментов .Net, но я не могу выпустить ее в магазине без нее.Мне сказали, что я должен попробовать закомментировать части кода - есть ли какие-то конкретные части, которые могут вызвать это?Как я должен сосредоточиться на импорте или конкретных функциях?

Мои ссылки для переднего плана:

Analyzers 
Background 
Microsoft.NETCore.UniversalWindowsPlatform 
Microsoft.Toolkit.Uwp.Notifications 
Universal Windows 
Windows Desktop Extensions for the UWP 

Фон:

Analyzers 
Microsoft.NETCore.UniversalWindowsPlatform 
Microsoft.Toolkit.Uwp.Notifications 
Universal Windows 
Windows.ApplicationModel.FullTrustAppContract 

Ответы [ 2 ]

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

Проблема Windows.ApplicationModel.FullTrustAppContract.Удаление этой ссылки решает проблему.Вместо этого Windows Desktop Extensions for the UWP также следует добавить к фону.

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

1) В этих случаях вам может помочь только чистка и восстановление.Вероятно, ваш профиль отладки по-прежнему хранит более старую (ранее скомпилированную сборку) версию одного из проектов и использует его для запуска (только его скопированное, но не восстановленное заново).Когда вы очистите и перестроите Debug, вы, вероятно, получите ту же ошибку, что и в выпуске сейчас.

2) Когда команды «Очистить и перестроить» вам не помогут, попробуйте создать полностью новые проекты и импортировать *Файлы .cs из текущих проектов и снова предоставляют ссылки.

3) Убедитесь, что у вас нет циклической зависимости в ссылках всех проектов (несмотря на то, что вы не уведомлены об этом сейчас компилятором. Иногда поведениестранный в этом случае компилятор.)

...