Short answer is yes. You can build a C# project which will either open AutoCAD or use an existing instance of it already open, then send a command to it which will load and run a LISP program of your choice. I do it all the time. I use the COM method, preferring to stay outside of the AutoCAD environment as much as possible. The LISP code I use also reads text files for input to create drawings. Oh, I should mention that I use VB.NET. If you search the Internet, you'll find numerous examples of how to do this. It will look something like this. You will need to add a reference to AutoCAD for this.
Imports AutoCAD
Module LaunchAutoCAD
'**************************************************************************************************************
' LAUNCH AUTOCAD & LISP
'**************************************************************************************************************
Sub Launch_AutoCAD(ByVal DwgName As String)
Dim vAcadApp As AcadApplication
Dim vAcadDoc As AcadDocument
Dim DwgPath As String = "\\My_Path_To\Engineering\Automated Drawings\"
Dim LispPath As String = "//My_Path_To/LISPFiles/"
Try
If Process.GetProcessesByName("acad").Length > 0 Then
vAcadApp = GetObject(, "AutoCAD.Application.19")
Else
vAcadApp = New AcadApplication
End If
vAcadApp.Visible = True
vAcadApp.WindowState = AcWindowState.acMax
vAcadDoc = vAcadApp.Documents.Open(DwgPath & DwgName, True)
vAcadDoc.SendCommand("(load """ & LispPath & My_Lisp & ".lsp"" ""The load failed"") " & Cmd_To_Start_LISP_Program & Chr(13))
Catch ex As Exception
Finally
vAcadApp = Nothing
vAcadDoc = Nothing
End Try
End Sub
This code was shared with me about a year or so ago and it's configured for AutoCAD 13. It also leaves the instance of AutoCAD open as my project receives request from over the Internet 24/7. There may well be better methods but this works for my needs.