Skip to content

Commit e08672c

Browse files
committed
Proper escaping, fixes #3093
1 parent b2524e3 commit e08672c

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

src/Paket.Core/Installation/ScriptGeneration.fs

+7-7
Original file line numberDiff line numberDiff line change
@@ -111,16 +111,16 @@ module ScriptGeneration =
111111
else libFile.FullName
112112

113113
// create the approiate load string for the target resource
114-
let refString (reference:ReferenceType) =
114+
let refString (reference:ReferenceType) =
115+
let escapeString (s:string) =
116+
s.Replace("\\", "\\\\").Replace("\"", "\\\"")
115117
match reference, self.Lang with
116118
| Assembly file, _ ->
117-
sprintf """#r "%s" """ (relativePath scriptFile file)
118-
| LoadScript script, ScriptType.FSharp ->
119-
sprintf """#load @"%s" """ (relativePath scriptFile ((baseDirectory.FullName </> script) |> FileInfo))
120-
| LoadScript script, ScriptType.CSharp ->
121-
sprintf """#load "%s" """ (relativePath scriptFile ((baseDirectory.FullName </> script) |> FileInfo))
119+
sprintf """#r "%s" """ (relativePath scriptFile file |> escapeString)
120+
| LoadScript script, _ ->
121+
sprintf """#load "%s" """ (relativePath scriptFile ((baseDirectory.FullName </> script) |> FileInfo) |> escapeString)
122122
| Framework name,_ ->
123-
sprintf """#r "%s" """ name
123+
sprintf """#r "%s" """ (escapeString name)
124124

125125
self.Input |> Seq.map refString |> Seq.distinct |> String.concat "\n"
126126

0 commit comments

Comments
 (0)