Элемент <When>под элементом <Choose>не распознан - PullRequest
1 голос
/ 25 сентября 2019

Добрый день, я пытаюсь выгрузить и загрузить проект здесь на моей работе.

Ошибка заключается в следующем

Элемент под элементом не распознан

Я видел ту же проблему, что и моя, в этой ссылке .Но это не имеет никакого решения.

<Target>

<Choose>
      <When Condition="('$(VisualStudioVersion)' == '10.0' or '$(VisualStudioVersion)' == '') and '$(TargetFrameworkVersion)' == 'v3.5'">
        <ItemGroup>
          <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
        </ItemGroup>
      </When>
      <Otherwise>
        <ItemGroup>
          <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework">
            <Private>False</Private>
          </Reference>
        </ItemGroup>
      </Otherwise>
</Choose>
</Target>

Я пытался поместить <Choose></Choose> за пределы цели, но все равно не повезло.Любой знает, как решить эту проблему.

  • Visual Studio 2017
  • Windows 10
  • .NET 4.5 Framework

1 Ответ

0 голосов
/ 25 сентября 2019

Самый простой способ сделать это - удалить <Target> и </Target>.См. Пример из официального документа :

<Project  xmlns="http://schemas.microsoft.com/developer/msbuild/2003" >
  <PropertyGroup>
    ...
  </PropertyGroup>
  <Choose>
    <When Condition=" '$(Configuration)'=='debug' ">
      <ItemGroup>
        ...
      </ItemGroup>
    </When>
    <When Condition=" '$(Configuration)'=='retail' ">
      <PropertyGroup>
        ...
      </PropertyGroup>
    </When>
    <Otherwise>
        ...
    </Otherwise>
  </Choose>
  <Target Name="Test">
    ...
  </Target>
</Project>

Таким образом, правильный уровень должен быть:

----Project
------Choose
--------When
------Target

Тег choose должен быть того же уровня, что и target.Итак, вы получите первую ошибку The element <When> beneath element <Choose> is unrecognized.И я предполагаю, что причина, по которой проблема все еще возникает после того, как вы поместили тег choose за пределы Target, заключается в том, что вы не скопировали тег Choose и его содержимое (когда ...) снаружи вместе.Тогда вы можете получить ошибку типа The element <Target> beneath element <Choose> is unrecognized.

Самый простой способ решить эту проблему - удалить <Target> and </Target>, после чего вы можете перезагрузить файл проекта.Если я что-то неправильно понимаю, не стесняйтесь, дайте мне знать:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...