私は、.fsxスクリプトでプリコンパイル正規表現を試しています。しかし、私は生成されたアセンブリの.dllファイルの場所を指定する方法を見つけることができません。私は、Regex.CompileToAssembly
で使用されているAssemblyName
インスタンスでCodeBase
のようなプロパティを設定しようとしましたが、役に立たなかった。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が表示されません\ Documents \ Visual Studio 2010 \ Projects \ Unquote \ code \ Unquote \ Unquote.Regex.dll私が望むように。私がのUnquote.Regex.dllのCドライブを検索すると、私はそれをいくつかの一時AppDataフォルダで見つけることができます。
したがって、Regex.CompileToAssembly
によって生成されたアセンブリの.dllファイルの場所を正しく指定するにはどうすればよいですか。
ありがとうございます! –