IronRuby, How make ruby file executed from the regular C# project directory rather than bin\debug folder?

StackOverflow https://stackoverflow.com/questions/14546912

  •  05-03-2022
  •  | 
  •  

Question

Finding a proper title for my question wasn't easy, please feel free to re-edit if needed. Now:

In the following code the program crashes as soon as it runs.

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;
        }
    }
} 

According to the debugger the reason is quite obvious,

"Could not find file 'C:\Documents and Settings\DEVELOPER\Desktop\IronRuby_Test_03\lkhhytu\bin\Debug\Ruby_Test.rb"

. The program expects the file to be in the bin\debug directory, and of course when I move the file there the program runs properly.

However it's not fun to have project files located in that bin\debug folder and it makes management a bit awkward. So my question now, is there a way to make the program runs normally and have 'Ruby_Test.rb' in the main project directory among all other regular project files?

Was it helpful?

Solution

That's the intended behavior. Go to the project properties under "Debug" and set the "Working Directory" to be your project dir.

Project Properties for a CS Project (Visual Studio 2012 Express)

You'll have to do this once for every Configuration (usually "Debug" and "Release").

OTHER TIPS

In VS you can set the properties on your Ruby files and have them copied to the bin directory together with your assemblies. This way you do automatically copy the files you need to any configuration debug or release.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top