diff --git a/src/Dotnet.Script.Core/Dotnet.Script.Core.csproj b/src/Dotnet.Script.Core/Dotnet.Script.Core.csproj index d3c0dc2c..d17065d5 100644 --- a/src/Dotnet.Script.Core/Dotnet.Script.Core.csproj +++ b/src/Dotnet.Script.Core/Dotnet.Script.Core.csproj @@ -2,7 +2,7 @@ A cross platform library allowing you to run C# (CSX) scripts with support for debugging and inline NuGet packages. Based on Roslyn. - 0.30.0 + 0.30.1 filipw netstandard2.0 Dotnet.Script.Core diff --git a/src/Dotnet.Script.Core/ScriptEmitter.cs b/src/Dotnet.Script.Core/ScriptEmitter.cs index bdc88488..d26a084b 100644 --- a/src/Dotnet.Script.Core/ScriptEmitter.cs +++ b/src/Dotnet.Script.Core/ScriptEmitter.cs @@ -18,7 +18,7 @@ public ScriptEmitter(ScriptConsole scriptConsole, ScriptCompiler scriptCompiler) _scriptCompiler = scriptCompiler; } - public virtual ScriptEmitResult Emit(ScriptContext context) + public virtual ScriptEmitResult Emit(ScriptContext context, string assemblyName) { var compilationContext = _scriptCompiler.CreateCompilationContext(context); foreach (var warning in compilationContext.Warnings) @@ -43,7 +43,9 @@ public virtual ScriptEmitResult Emit(ScriptContext context) if (context.OptimizationLevel == Microsoft.CodeAnalysis.OptimizationLevel.Debug) { emitOptions = new EmitOptions() - .WithDebugInformationFormat(DebugInformationFormat.Embedded); + .WithDebugInformationFormat(DebugInformationFormat.Embedded) + .WithPdbFilePath($"{assemblyName}.pdb"); + } var result = compilation.Emit(peStream, options: emitOptions); diff --git a/src/Dotnet.Script.Core/ScriptPublisher.cs b/src/Dotnet.Script.Core/ScriptPublisher.cs index 90a07f73..a432a0b9 100644 --- a/src/Dotnet.Script.Core/ScriptPublisher.cs +++ b/src/Dotnet.Script.Core/ScriptPublisher.cs @@ -96,7 +96,8 @@ public void CreateExecutable(ScriptContext context, LogFactory l private string CreateScriptAssembly(ScriptContext context, string outputDirectory, string assemblyFileName) { - var emitResult = _scriptEmitter.Emit(context); + var assemblyName = Path.GetFileNameWithoutExtension(assemblyFileName); + var emitResult = _scriptEmitter.Emit(context, assemblyName); var assemblyPath = Path.Combine(outputDirectory, $"{assemblyFileName}.dll"); using (var peFileStream = new FileStream(assemblyPath, FileMode.Create)) using (emitResult.PeStream) diff --git a/src/Dotnet.Script.Tests/ScriptExecutionTests.cs b/src/Dotnet.Script.Tests/ScriptExecutionTests.cs index 06b97bfc..e0c69083 100644 --- a/src/Dotnet.Script.Tests/ScriptExecutionTests.cs +++ b/src/Dotnet.Script.Tests/ScriptExecutionTests.cs @@ -24,7 +24,7 @@ public ScriptExecutionTests(ITestOutputHelper testOutputHelper) [Fact] public void ShouldExecuteHelloWorld() { - var result = ScriptTestRunner.Default.ExecuteFixture("HelloWorld"); + var result = ScriptTestRunner.Default.ExecuteFixture("HelloWorld", "--no-cache"); Assert.Contains("Hello World", result.output); } diff --git a/src/Dotnet.Script/Dotnet.Script.csproj b/src/Dotnet.Script/Dotnet.Script.csproj index 0ab0c559..2f2ba7e6 100644 --- a/src/Dotnet.Script/Dotnet.Script.csproj +++ b/src/Dotnet.Script/Dotnet.Script.csproj @@ -1,7 +1,7 @@  Dotnet CLI tool allowing you to run C# (CSX) scripts. - 0.30.0 + 0.30.1 filipw Dotnet.Script netcoreapp2.1