第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

羅斯林似乎忽略了一些元數(shù)據(jù)引用

羅斯林似乎忽略了一些元數(shù)據(jù)引用

PHP
catspeake 2024-01-20 21:06:35
在某些集成測(cè)試的準(zhǔn)備階段,我必須動(dòng)態(tài)生成一些引用其他程序集的程序集并將它們刷新到磁盤。我猜羅斯林是這項(xiàng)任務(wù)的明顯選擇。Roslyn 編譯成功完成并將發(fā)出的程序集保存到磁盤。當(dāng)我使用 ILSPy 檢查結(jié)果時(shí),我發(fā)現(xiàn)某些程序集引用未包含在內(nèi)。虛擬類生成代碼:public static string GenerateEmptyPublicClass([NotNull] string @namespace, [NotNull] string className)        {            if (@namespace == null) throw new ArgumentNullException(nameof(@namespace));            if (className == null) throw new ArgumentNullException(nameof(className));            var classDeclaration = SyntaxFactory.ClassDeclaration(className).AddModifiers(SyntaxFactory.Token(SyntaxKind.PublicKeyword));            var namespaceDeclaration = SyntaxFactory.NamespaceDeclaration(SyntaxFactory.ParseName(@namespace)).NormalizeWhitespace();            namespaceDeclaration = namespaceDeclaration.AddMembers(classDeclaration);            return namespaceDeclaration.NormalizeWhitespace().ToFullString();        }組裝準(zhǔn)備代碼:blic static void GenerateAssembly([NotNull] this string sourceCode, [NotNull] string assemblyFilePath,            [NotNull] params string[] referencedAssemblyPaths)        {            if (sourceCode == null) throw new ArgumentNullException(nameof(sourceCode));            if (assemblyFilePath == null) throw new ArgumentNullException(nameof(assemblyFilePath));            var assemblyFileName = Path.GetFileName(assemblyFilePath);            var outputDirectory = Path.GetDirectoryName(assemblyFilePath);            Directory.CreateDirectory(outputDirectory);            var syntaxTree = CSharpSyntaxTree.ParseText(sourceCode);            var referencedAssemblyMetadata =                referencedAssemblyPaths.Select(x => MetadataReference.CreateFromFile(x).WithProperties(new MetadataReferenceProperties()));            var compilationOptions = new CSharpCompilationOptions(OutputKind.DynamicallyLinkedLibrary);            var compilation = CSharpCompilation.Create(assemblyFileName, new[] {syntaxTree}, referencedAssemblyMetadata, compilationOptions);
查看完整描述

1 回答

?
拉莫斯之舞

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超10個(gè)贊

為了引用程序集,我們不僅需要指示程序集位置,而且實(shí)際上需要使用它的元數(shù)據(jù)。



查看完整回答
反對(duì) 回復(fù) 2024-01-20
  • 1 回答
  • 0 關(guān)注
  • 181 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)