Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

LINQPad script directory?

Tags:

linqpad

Does anyone know how to get hold of the path to the directory where the LINQPad script file (.linq) resides?

Or to the script itself for that matter.

Note that I'm not talking about the location of the "My Queries" folder, the one shown inside LINQPad.

I can save a .linq file anywhere on disk, and open it by double-clicking on it.

For instance, if I save the file to C:\Temp\Test.linq, and execute the program, I'd like to have either C:\Temp or C:\Temp\Test.linq.

Basically I'd like something akin to Environment.CurrentDirectory or Assembly.GetEntryAssembly().Location, just for the .linq file.

Things I've tried:

  • Looking through environment variables
  • Looking through the LINQPad assembly that is given to my script
  • Throwing an exception and looking at the stacktrace (contains a link to a temporary copy of my script somewhere else)
  • Environment.CommandLine.Dump(); - gives LINQPad executable
  • Environment.CurrentDirectory.Dump(); - gives C:\windows\system32
  • Assembly.GetExecutingAssembly().Location.Dump(); - gives temp directory
like image 767
Lasse V. Karlsen Avatar asked Sep 27 '10 10:09

Lasse V. Karlsen


People also ask

Where LINQPad?

Connection details are normally stored in %appdata%\LINQPad\ConnectionsV2. xml. However, if you move/copy this file into the folder where LINQPad.exe resides, LINQPad will use that copy instead. (This makes life easy when xcopy-deploying LINQPad for portable or shared deployments.)

What is a .linq file?

A LINQ file is a text file created by LINQPad, a utility that helps . NET Framework developers test code outside of IDEs like Microsoft Visual Studio.

How do I run a query in LINQPad?

Click on "Add connection"; a window will appear. Choose "Default (LINQ to SQL)" and click on the "Next" button. A new window will appear, fill in the required details to get connected with the desired database.


1 Answers

I've just added a feature to address this. You can test it now by downloading the 2.27.1 or 4.27.1 beta build.

To get the current query's folder, use the following expression:

Path.GetDirectoryName (Util.CurrentQueryPath) 
like image 167
Joe Albahari Avatar answered Nov 25 '22 22:11

Joe Albahari