簡體   English   中英

CodeDom 生成不安全代碼或替代編譯方案

[英]CodeDom Generate Unsafe Code OR Alternate Compilation Alternatives

我剛剛完成了使用 CodeDom 開發一個相當大的項目。 好吧,幾乎完成了——除了一個小問題——我項目中的一個類需要/unsafe標記。 我已經讀過 CodeDom 不支持 *generation * 帶有不安全指針的方法或類型,但是,我很好奇是否有某種方法可以從文件中編譯class - 已經具有不安全標簽合並。 我知道我可以手動創建一個 .csproj 文件並從這里啟用不安全的代碼,但同樣,我不認為我可以在從文件編譯時使用 this.csproj 文件。

最后,如果上述方法都不可行,有什么方法可以使用 C#.dll 生成源代碼? 可能與 VS 默認使用的相同。

感謝您的幫助!

埃文

通過使用CodeSnippetTypeMember class,您可以在 codedom 中使用不安全的指針生成方法。

你不能做的是以可移植的方式生成帶有不安全指針的方法,因為 CodeDom 只有語言能夠提供的功能的子集。 您在 codedom 中找到的功能更有可能以多種語言出現。

至於你的問題; 您應該能夠從文件中編譯 class 。 創建一個與此類似的 CompilerParameters object。

CompilerParameters cp = new CompilerParameters();
cp.CompilerOptions = "/unsafe";

然后在您選擇的提供者上調用CompileAssemblyFromFile

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM