Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Attempt to move off of separate process #71

Closed
daveaglick opened this issue Feb 8, 2017 · 8 comments
Closed

Attempt to move off of separate process #71

daveaglick opened this issue Feb 8, 2017 · 8 comments

Comments

@daveaglick
Copy link
Owner

Right now we have to launch MSBuild in a separate process since it can't run recursively. There might be a way around this as explained at dotnet/roslyn#14206 (comment). Investigate if this will work and move to that approach if feasible.

@TylerBrinkley
Copy link
Contributor

Currently, after running the Scripty custom tool I'm not able to rebuild the solution as Scripty holds onto the references to the .dll files it loads in the csx. I must therefore close Visual Studio and reopen it in order to rebuild the solution. Would what you're proposing fix this?

@daveaglick
Copy link
Owner Author

@TylerBrinkley Not sure without knowing the underlying reason why it's grabbing locks on the assemblies. I don't think this would help though.

Can you open a new issue regarding the locks? It clearly shouldn't be grabbing them - there might be something with regards to the custom tool life cycle and disposing the Roslyn compilation that I've overlooked.

@TylerBrinkley
Copy link
Contributor

Thanks, I've added it as #72.

@per-samuelsson
Copy link

There might be a way around this as explained at dotnet/roslyn#14206 (comment). Investigate if this will work and move to that approach if feasible.

Just be aware you are then stuck on Windows. Not sure about your x-plat strategy, but thought I'd just give you a hint of it anyway.

@daveaglick
Copy link
Owner Author

@per-samuelsson Thanks - that probably is a deal-breaker as I'd like to (eventually) move to Core.

There's also other problems with the approach like having to parse out all the arguments. After looking at this for a while yesterday, I'm going to stick with the process forking for now.

@per-samuelsson
Copy link

@per-samuelsson Thanks - that probably is a deal-breaker as I'd like to (eventually) move to Core.

Sure thing. At the same time, I realized using MsBuildWorkspace probably fall under the same category, i.e. being Windows-specific too.

@StingyJack
Copy link
Contributor

The custom tool may still need the separate process if script debugging is still in the plans.

@daveaglick
Copy link
Owner Author

Yeah, at this point what we have (mostly) works okay so I'm going to table moving away from the process fork for now. I think we're probably stuck on Windows one way or the other right now as long as we want to continue exposing the Roslyn workspace API.

I'm still holding out hope that long-term the new cross platform MSBuild library will offer something akin to the old DTE model from Visual Studio and we can totally do away with the whole Roslyn/MSBuild abstraction being used right now. It's a pain.

if script debugging is still in the plans

Would love to get there, but as you may have noticed this isn't my primary project and I haven't been able to give it the attention it probably deserves. I've got no idea what the time line for that looks like.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants