Ich experimentiere mit Precompile Regexes in einem .fsx-Skript. Aber ich kann nicht herausfinden, wie der Speicherort der DLL-Datei für die generierte Assembly angegeben wird. Ich habe versucht, Eigenschaften wie CodeBase
auf der AssemblyName
Instanz zu setzen, die von Regex.CompileToAssembly
verwendet wird, aber ohne Erfolg. Hier ist, was ich habe:Regex.CompileToAssembly wie Speicherort der DLL-Datei festlegen
open System.Text.RegularExpressions
let rcis = [|
new RegexCompilationInfo(
@"^NumericLiteral([QRZING])$",
RegexOptions.None,
"NumericLiteral",
"Swensen.Unquote.Regex",
true
);
|]
let an = new System.Reflection.AssemblyName("Unquote.Regex");
an.CodeBase <- __SOURCE_DIRECTORY__ + "\\" + "Unquote.Regex.dll"
Regex.CompileToAssembly(rcis, an)
ich dies in FSI Ausführung und als ich an
bewerten Ich sehe:
> an;;
val it : System.Reflection.AssemblyName =
Unquote.Regex
{CodeBase = "C:\Users\Stephen\Documents\Visual Studio 2010\Projects\Unquote\code\Unquote\Unquote.Regex.dll";
CultureInfo = null;
EscapedCodeBase = "C:%5CUsers%5CStephen%5CDocuments%5CVisual%20Studio%202010%5CProjects%5CUnquote%5Ccode%5CUnquote%5CUnquote.Regex.dll";
Flags = None;
FullName = "Unquote.Regex";
HashAlgorithm = None;
KeyPair = null;
Name = "Unquote.Regex";
ProcessorArchitecture = None;
Version = null;
VersionCompatibility = SameMachine;}
Aber noch einmal, ich sehe nicht C: \ Benutzer \ Stephen \ Dokumente \ Visual Studio 2010 \ Projekte \ Unquote \ Code \ Unquote \ Unquote.Regex.dll wie ich möchte. Wenn ich mein C-Laufwerk nach Unquote.Regex.dll suche, finde ich es in einem temporären AppData-Ordner.
Also, wie kann ich den Speicherort der DLL-Datei für eine Assembly ordnungsgemäß von Regex.CompileToAssembly
generiert angeben?
Ausgezeichnet - danke! –