Я экспериментирую с предкомпиляционными регулярными выражениями в сценарии .fsx. Но я не могу понять, как указать расположение файла DLL для сгенерированной сборки. Я пробовал устанавливать свойства, такие как CodeBase
на примере AssemblyName
, используемом Regex.CompileToAssembly
, но безрезультатно. Вот что у меня есть:Regex.CompileToAssembly, как установить расположение файла DLL
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)
Я выполнение этого в FSI и когда я оцениваю an
я вижу:
> 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;}
Но, опять же, я не вижу C: \ Users \ Stephen \ Documents \ Visual Studio 2010 \ Projects \ Unquote \ code \ Unquote \ Unquote.Regex.dll как я хочу. Если я ищу свой C-диск для Unquote.Regex.dll, я нахожу его в некоторой временной папке AppData.
Итак, как я могу правильно указать расположение файла DLL для сборки, сгенерированной Regex.CompileToAssembly
?
Отлично - спасибо! –