Ответ 1
Похоже, вы ссылаетесь на метаданные Windows 10 SDK (UAP) и метаданные Windows 8.1 SDK (Windows). Вы смешиваете старые и новые двоичные файлы или старый файл проекта? Попробуйте создать новый проект с нуля и добавьте свои источники.
каким-то образом (я даже ничего не сделал), я получаю много erros в Visual Studio 2015, но я не могу понять, в чем проблема.
В нем говорится, что в обеих библиотеках "Windows.Foundation.UniversalApiContract" существует множество "типов".
Может кто-нибудь мне помочь? Что я могу сделать, чтобы спасти мое решение и мой проект? Я пытался иногда чистить и перестраивать, и это не помогло.
Похоже, вы ссылаетесь на метаданные Windows 10 SDK (UAP) и метаданные Windows 8.1 SDK (Windows). Вы смешиваете старые и новые двоичные файлы или старый файл проекта? Попробуйте создать новый проект с нуля и добавьте свои источники.
Я столкнулся с чем-то похожим:
Не весело. Я думаю, что это началось, когда я случайно добавил метод расширения к набору утилит, которые хранятся в проекте Portable Class Library, который ссылался на using Windows.ApplicationModel.DataTransfer;
, так как я (тупо) добавил код, который обращался к буферу в PCL. И это имеет смысл; теперь я эффективно нацелен на две платформы Windows, что, очевидно, неверно.
Несколько вещей, добавленных в этот файл csproj проекта PCL. Сначала была эта строка:
<UseVSHostingProcess>false</UseVSHostingProcess>
Вторая - это ItemGroup:
<ItemGroup>
<Reference Include="Windows.Foundation.UniversalApiContract">
<HintPath>..\..\Program Files (x86)\Windows Kits\10\References\Windows.Foundation.UniversalApiContract\2.0.0.0\Windows.Foundation.UniversalApiContract.winmd</HintPath>
</Reference>
</ItemGroup>
Я не уверен, что все это требовалось, но я удалил связанный с буфером код, ссылку на Windows.ApplicationModel.DataTransfer;
в моих using
s и reset/удалил изменения в файл csproj.
cd C:\Projects\solutionName\projectName
cd ./bin
rmdir x64 /S /Q
rmdir x86 /S /Q
rmdir ARM /S /Q
cd ../obj/
rmdir x64 /S /Q
rmdir x86 /S /Q
rmdir ARM /S /Q
cd ..
pause
Мне также нужно запустить это (опять же, с закрытым решением) перед созданием и отправкой в магазин. Не совсем понятно, почему, но обоим из них: удаление кода, отличного от PCL, и сброс проекта PCL, а также удаление этих папок /bin
и /obj
- устранили проблему.
Моя ненаучная догадка о том, почему мне нужно сдуть /bin
и /obj
, заключается в том, что VS не всегда создает мои проекты в порядке зависимости и часто ссылается на старые компиляции моего кода, когда он должен был начаться свежий. Взрыв любого возможного датированного костыля, кажется, заставляет его делать вещи "Правильно". ¯\_ (ツ) _/¯