Условно встраивая ресурс в Visual Studio (C#)

Существует ли способ условно встроить ресурсы в проект.NET? Т.е. если я определил INCLUDETHIS тогда, я хочу определенный большой файл, встроенный в dll, иначе я не хочу встроенный. Я знаю, что могу сделать два проекта сделать это, но я надеюсь сделать все это в одном проекте. Код, который использует файл, легко обусловливается с #if INCLUDETHIS... #endif, но я даже не хочу файл в dll иначе, поскольку он содержит уязвимую информацию и только используется внутренне.

16
задан jjxtra 3 March 2010 в 22:39
поделиться

2 ответа

Это помогло. Вы можете редактировать свой csproj, щелкнув правой кнопкой мыши проект в Visual Studio и выбрав «Изменить».

  <Choose>
    <When Condition=" '$(Configuration)'!='ReleaseExternal' And '$(Platform)'=='x86' ">
      <ItemGroup>
        <EmbeddedResource Include="file.dll">
          <Link>Resources\Other\file.dll</Link>
        </EmbeddedResource>
      </ItemGroup>
    </When>
  </Choose>
21
ответ дан 30 November 2019 в 22:02
поделиться

Вы можете условно внедрить ресурс в ваш csproj-файл в зависимости от конфигурации, однако я не уверен, что вы можете контролировать это с помощью утверждений #if в вашем коде.

Может быть, вместо этого добавить пользовательскую конфигурацию сборки (в дополнение к "Debug" и "Release")? А затем просто вручную отредактировать ваш csproj-файл, чтобы встроить его if $(Configuration == 'your custom buildconf').

1
ответ дан 30 November 2019 в 22:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: