Visual Studio - Resx Файл по умолчанию 'internal' to 'public'

Каждый раз, когда я редактирую файл ресурсов в VS, он восстанавливает соответствующий код и устанавливает модификатор доступа класса к внутреннему.
Это боль в Ctrl-F → ReplaceAll каждый раз, когда я редактирую resx. Есть ли свойство/параметр, чтобы я мог публиковать его по умолчанию?

internal class MyResource {

     internal static global::System.Resources.ResourceManager ResourceManager {...}

}

Мне нужно, чтобы все те internal были public все время.

Ответ 1

Вместо ResXFileCodeGenerator используйте PublicResXFileCodeGenerator.

Вы можете сделать это, установив это как свойство Custom Tool в окне свойств для файла Resx, к которому вы хотите публичный доступ.

Изменить: альтернативно вы можете установить модификатор доступа публично, когда вы открываете файл resx в Visual Studio. Выпадающий список "Модификатор доступа" можно найти в верхней части формы.

Ответ 2

1) Щелкните правой кнопкой мыши файл ресурсов (resource.resx) = > Свойства.

2) Пользовательский инструмент = > Изменить на PublicResXFileCodeGenerator Готово.

Ответ 3

Возможно, самый простой способ - создать производный класс с Public ctor?

Сгенерированный класс:

 [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
    internal Strings() {
    }

Производный класс:

public class PublicStrings : Strings
{
    /// <summary>
    /// Public localization Strings.
    /// </summary>
    public PublicStrings()
    {

    }
}