带有ReferenceOutputAssembly标签且值为false的项目引用不会复制其SatelliteDll

问题描述 投票:0回答:1

根据此链接https://blogs.msdn.microsoft.com/kirillosenkov/2015/04/04/how-to-have-a-project-reference-without-referencing-the-actual-binary/

我引用了ProjectB在ProjectB中的程序集,其中ReferenceOutputAssembly = false如下所示:

    <ProjectReference Include="..\ProjectA\ProjectA.csproj">
      <Project>{b402782f-de0a-41fa-b364-60612a786fb2}</Project>
      <Name>ProjectA</Name>
      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
      <OutputItemType>Content</OutputItemType>
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </ProjectReference>

这将指示项目之间对MSBuild的依赖关系,但在编译ProjectB时不会将ProjectA的输出程序集作为对编译器的引用。MSBuild只是将程序集A dll复制到程序集B的输出目录中,而不是Satellite Dll。我需要在输出目录中同时使用ProjectA.dll和ProjectA.resources.dll,但只复制projectA.dll,不复制项目A的Satellite Dll。

根据此链接https://blogs.msdn.microsoft.com/kirillosenkov/2015/04/04/how-to-have-a-project-reference-without-referencing-the-actual-binary/我引用了...

c# msbuild visual-studio-2019 csproj
1个回答
0
投票

MSBuild只是将程序集A dll复制到输出目录中,组件B,而不是Satellite Dll。我需要ProjectA.dll和输出目录中的ProjectA.resources.dll,但仅是projectA.dll复制,不复制项目A的Satellite Dll。]

© www.soinside.com 2019 - 2024. All rights reserved.