MSBuild Directory.Build.props - single Private = "true" переопределяет все остальные - PullRequest
0 голосов
/ 10 января 2020

Я пытаюсь заставить MSBuild работать и сталкиваюсь со многими проблемами. В моем файле Directory.Build.Props у меня есть:

  <ItemDefinitionGroup>
    <Reference>
      <Private>False</Private>
    </Reference>
    <ProjectReference>
      <Private>False</Private>
    </ProjectReference>
  </ItemDefinitionGroup>

  <ItemGroup>
    <PackageReference Include="Blah" Version="blah" />
    <Reference Include="Thing" HintPath="$(GameFolder)/thing.dll" />
    ...
    <Reference Include="Thing2" HintPath="$(GameFolder)/thing2.dll"  />
    <Reference Include="../folder/Problem.dll" Private="True" />
  </ItemGroup>

Теперь я ожидаю, что это будет означать, что любые ссылки, которые я перечислю здесь, не будут скопированы при сборке, и если я установлю определенные c из них на true переопределит это поведение только для этих ссылок. Однако это не то, что я испытываю.

Если для Problem.dll установлено значение false, то все зависимости отображаются как Copy Local: No, а папка сборки содержит, как и ожидалось, только мою .dll.

Если для Problem.dll установлено значение true, то зависимости отображаются как Copy Local: No, за исключением Problem.dll, который отображается как Yes. Однако папка сборки содержит все .dll, что для меня не имеет смысла.

Любая помощь в решении этой проблемы будет весьма оценена. Я не слишком опытен с MSBuild, поэтому дайте мне знать, если есть важная информация, которой я не поделился.

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