Как исправить ссылку на целевую платформу для пакета приложений Windows в Visual Studio

У меня есть целевая платформа веб-сервера asp - .NET Framework 4.6.1,

<TargetFramework>net461</TargetFramework>

Я хотел бы добавить этот проект в пакет приложения Windows и создать установщик. После сборки пакета появляется сообщение об ошибке:

target'net461 'на него не может ссылаться проект, нацеленный на' .NETCore, Version = v5.0 '.

Код серьезности Описание Ошибка состояния подавления строки файла проекта Проект '.. \ Example \ Example.csproj' нацелен на 'net461'. На него нельзя ссылаться в проекте, ориентированном на .NETCore, Version = v5.0. Пример пакета C: \ Program Files (x86) \ Microsoft Visual Studio \ 2019 \ Community \ MSBuild \ Current \ Bin \ Microsoft.Common.CurrentVersion.targets 1653

Я думаю, это потому, что упаковка приложений Windows имеет целевую структуру по умолчанию, но я не знаю, как ее изменить. Может ли кто-нибудь помочь мне с этим?


person Harry    schedule 25.06.2019    source источник
comment
Подобная проблема здесь, вы нашли решение? В моем случае я использую набор инструментов Wix для создания установщика.   -  person Javier Castro    schedule 18.11.2019


Ответы (1)


Я нашел решение:

Вы должны указать в xml проекта под каждой ссылкой, какую целевую платформу использовать, например:

<SetTargetFramework>TargetFramework=net461</SetTargetFramework>

Полный пример для данной справки

    <ProjectReference Include="theProject.csproj">
      <Name>theProject</Name>
      <Project>{46e70050-559c-442f-b47d-99a3ad73afd3}</Project>
      <Private>True</Private>
      <DoNotHarvest>True</DoNotHarvest>
      <RefProjectOutputGroups>Binaries;Content;Satellites</RefProjectOutputGroups>
      <RefTargetDir>INSTALLFOLDER</RefTargetDir>
      <SetTargetFramework>TargetFramework=net461</SetTargetFramework>
    </ProjectReference>
person Javier Castro    schedule 19.11.2019