1

I have an application written in AS3 which I need to be able to start up from my C# application. I have a prototype that does this just fine but my question is in relation to how I would arrange my solution to accommodate for this.

The way I had it in the prototype was using a post build script to copy the AS3 program directory into the output directory (Release or Debug), I then referenced it using Path.Combine as below:

private const string AS3_APP = Path.Combine(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), "ApplicationDir", "AS3App.exe"); 

For something that's going into full development with long term support (probably a few years supporting this project, minimum) I'm wondering if there's a cleaner way of doing this. Something that is quite obvious to other working on the project but also isn't overly brittle.

The current thinking is that we will have a requirement to compile this AS3 application and then bring it into the solution; however as it is basically a Program Files folder, it'll be on the .gitignore. We will then use a post build script as I have done already which will copy the AS3 application into the output directory, but this feels quite hidden and awkward.

Are there any easier ways to do this in C# or any better ideas?

2
  • 1
    Have you looked into option of creating an internal nuget repository and publish those binaries there? Commented Feb 27, 2015 at 21:59
  • @LowFlyingPelican No I hadn't considered that, I'll give that a go and see how that works out. Sounds like it could provide the clarity to people on the project that I'm after but also the separation. Thanks! Commented Feb 28, 2015 at 19:50

1 Answer 1

0

In the end I put the compiled version into the main repository. The binary is required for it to run and so it's an actual dependency we decided.

We're only ever running the latest version of that executable so decided using tests etc against it's functionality won't be a problem. The approach just feels messy but we decided this would be the best approach for now.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.