У меня есть несколько блестящих приложений с файловой структурой global.R, ui.R, server.R и чем-то, что я называю batchTrigger.R. Содержимое последнего просто следующее:
.libPath(*Path to my R Package Repository*)
require('shiny')
runApp(*Path to the folder with the aforementioned files*)
Я создал пакетный файл с именем application.cmd со следующим кодом:
cls
@pushd ""
:::::::::::::::::::
@echo off
ECHO Loading...Please, wait. The Application will open automatically.
ECHO ---
ECHO Do not close this console window for the whole duration of your session
ECHO in the application.
ECHO ---
@echo off
"C:\Program Files\R\bin\Rscript.exe" ".../**batchTrigger.R**"
:::::::::::::::::::
@popd
cmd /k
Этот пакетный файл работает просто отлично. Затем я пошел еще дальше и решил создать форму windows с несколькими приложениями R. У меня есть две кнопки в форме, каждая из которых выглядит примерно так:
1008
Пока все хорошо. Обе кнопки работают точно так, как они должны были. Я хочу go сделать еще один шаг вперед, но, поскольку я очень новичок в C#, мне нужна помощь. Я надеюсь получить динамическое местоположение c для файлов R и файлов cmd в развернутом таким образом приложении в решении. Другими словами, я должен быть в состоянии записать содержимое пакетного файла в код C#, а путь к batchTrigger.R должен быть таким, который меняется в зависимости от местоположения windows приложение формы (которое будет автономным развернутым исполняемым файлом). Идея состоит в том, что хранилище пакетов R и установка R могут оставаться в состоянии c и могут указываться batchTrigger.R и application.cmd соответственно, но местоположение самого batchTrigger.R вместе с другими файлами R перемещается вместе с приложением , Я думаю, что resource.resx может что-то с этим сделать, но как именно я могу go сделать это, я, похоже, не понимаю. Любое предложение будет высоко оценено.