有条件地在Visual Studio中嵌入资源(C#)

jjx*_*tra 16 .net c# embedded-resource

有没有办法有条件地将资源嵌入到.NET项目中?即如果我已经定义了INCLUDETHIS,那么我想在dll中嵌入一个特定的大文件,否则我不希望它嵌入.我知道我可以做两个项目,但我希望在一个项目中完成所有这些.使用该文件的代码很容易用#if INCLUDETHIS ... #endif来调节,但我甚至不想在dll中使用该文件,因为它包含敏感信息并且仅在内部使用.

jjx*_*tra 21

这样做了.您可以通过右键单击项目上的Visual Studio并选择"编辑"来编辑csproj.

  <Choose>
    <When Condition=" '$(Configuration)'!='ReleaseExternal' And '$(Platform)'=='x86' ">
      <ItemGroup>
        <EmbeddedResource Include="file.dll">
          <Link>Resources\Other\file.dll</Link>
        </EmbeddedResource>
      </ItemGroup>
    </When>
  </Choose>
Run Code Online (Sandbox Code Playgroud)