c # Приложение для редактирования локального приложения без перекомпиляции / переустановки [дубликат]

Он указывает раздел страниц руководства, в котором находится команда. Переключатель -s команды man может использоваться для ограничения поиска в определенных разделах.

Когда вы просматриваете страницу руководства, в верхнем левом поле отображается название раздела, например:

Пользовательские команды printf (1) Стандартные функции библиотеки C printf (3C)

Итак, если вы пытаетесь найти функции C и не хотите случайно видеть страницу для пользовательской команды, которая имеет одно и то же имя, вы бы сделали «man -s 3C ...»

19
задан Amadeusz Wieczorek 15 January 2016 в 03:54
поделиться

3 ответа

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

Один из них - открыть и проанализировать файл конфигурации. Учитывая файл sample.txt с помощью функции сборки Content (копирование в выходной каталог не имеет значения), мы можем прочитать его с помощью

var uri = new System.Uri("ms-appx:///sample.txt");
var sampleFile = await Windows.Storage.StorageFile.GetFileFromApplicationUriAsync(uri);

или

var packageFolder = Windows.ApplicationModel.Package.Current.InstalledLocation;
var sampleFile = await packageFolder.GetFileAsync("sample.txt");

var contents = await Windows.Storage.FileIO.ReadTextAsync(sampleFile);

В качестве альтернативы мы можем использовать ресурсы. Добавьте новый элемент ресурса в проект под названием resourcesFile.resw. Для доступа к данным используйте:

var resources = new Windows.ApplicationModel.Resources.ResourceLoader("resourcesFile");
var token = resources.GetString("secret");

Я написал более подробный ответ в сообщении в блоге Файлы пользовательских ресурсов в UWP

12
ответ дан David Pine 22 August 2018 в 14:33
поделиться
  • 1
    Я не вижу, как это решает , не проверяя его на требование к исходному управлению , так как вам нужно будет добавить файл в проект, чтобы установить его действие сборки, поэтому сделать его довольно громоздким, чтобы исключить из контроль источника. – Gabriel Rainha 23 November 2016 в 17:37
  • 2
    @GabrielRainha, это не является фактическим требованием вопроса - если вы внимательно его прочитаете, вы увидите, что OP указал, что он уже имеет способ сделать это при использовании файлов app.config. - Следовательно, ему просто нужно знать, что использовать вместо файлов app.config. - Жаль, что он не делился с нами своим методом. – BrainSlugs83 26 January 2017 в 23:49
  • 3
    У меня возникла проблема с отсутствием файла с исключением моего файла .json в корневом приложении, поэтому я следил за тем, что там написано: Исключение файла не найдено в универсальной платформе Windows – Jeremy F. 27 February 2018 в 11:40

Я думаю, что то, что вы называете «ApiKey», является статическим ключом, который API дает вам для создания токена доступа. Если это так, возможно, лучший способ добиться этого - создать статический класс из исходного элемента управления с этим значением внутри него, например:

public static class MyCredentials
{
    public static string MyApiKey = "apiKey";
}

Затем вы получите доступ к этому значению легко от вашего кода:

var myApiKey = MyCredentials.MyApiKey;

Если вы хотите хранить значения в текстовом файле, вам придется писать / читать его вручную, используя классы StorageFile и FileIO.

Вместо этого, если «ApiKey» означает токен динамического доступа, лучшим решением является использование ApplicationDataContainer, как сказано.

1
ответ дан Gabriel Ferreiro 22 August 2018 в 14:33
поделиться
  • 1
    Спасибо @garolad за ваше предложение об использовании класса FileIO. Я отправил ответ, который использует этот класс. – Amadeusz Wieczorek 23 January 2016 в 21:44

Вам не нужно создавать файл конфигурации. UWP имеет встроенное решение для хранения локальных настроек / конфигураций. Проверьте этот учебник:

https://msdn.microsoft.com/en-us/library/windows/apps/mt299098.aspx

Использование ApplicationDataContainer, вы сможете получить значение по ключу:

Object value = localSettings.Values["exampleSetting"];
-1
ответ дан stratever 22 August 2018 в 14:33
поделиться
  • 1
    Спасибо @stratever. Это будет работать, если я захочу прочитать данные, созданные во время выполнения. Мне нужно использовать данные, связанные с приложением (но не проверенные в исходном коде) – Amadeusz Wieczorek 23 January 2016 в 21:43
  • 2
    @stratever - это не предназначено для данных конфигурации приложения - это больше для таких вещей, как настройки пользователя – kdazzle 29 December 2016 в 18:44
  • 3
    Хуже, чем бесполезно: полная трата времени. Вы потрудились прочитать оригинальный пост? – Mike Doonsebury 1 August 2018 в 18:38
Другие вопросы по тегам:

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