IronRuby, как сделать так, чтобы файл ruby выполнялся из обычного каталога проекта C#, а не из папки bin\debug?
Найти правильный заголовок для моего вопроса было нелегко, пожалуйста, не стесняйтесь отредактировать при необходимости. Сейчас:
В следующем коде программа вылетает при запуске.
using System;
using IronRuby;
using IronRuby.Runtime;
namespace IronRuby_Test_03
{
class Program
{
public static void Main(string[] args)
{
var engine = Ruby.CreateEngine();
engine.ExecuteFile("Ruby_Test.rb");
dynamic ruby = engine.Runtime.Globals;
}
}
}
По словам отладчика, причина вполне очевидна,
"Не удалось найти файл" C:\Documents and Settings\DEVELOPER\Desktop\IronRuby_Test_03\lkhhytu\bin\Debug\Ruby_Test.rb""
, Программа ожидает, что файл находится в каталоге bin \ debug, и, конечно, когда я перемещаю файл туда, программа работает правильно.
Однако не очень удобно размещать файлы проекта в этой папке bin \ debug, и это делает управление немного неловким. Итак, мой вопрос сейчас, есть ли способ заставить программу работать нормально и иметь 'Ruby_Test.rb' в главном каталоге проекта среди всех других обычных файлов проекта?
2 ответа
Это предполагаемое поведение. Перейдите к свойствам проекта в разделе "Отладка" и установите "Рабочий каталог" в качестве директории вашего проекта.
Вам придется сделать это один раз для каждой конфигурации (обычно "Отладка" и "Выпуск").
В VS вы можете установить свойства ваших файлов Ruby и скопировать их в каталог bin вместе с вашими сборками. Таким образом, вы автоматически копируете нужные файлы в любую отладку или выпуск конфигурации.