我刚刚使用CodeDom开发了一个相当大的项目。好吧,差不多完成了 - 只针对一个小问题 - 我项目中的一个类需要/unsafe
标记。我已经读过CodeDom不支持使用不安全指针的方法或类型的* generation *,但是,我很好奇是否有某些方法可以编译一个类来自文件 - 已包含不安全标记。我知道我可以手动创建一个.csproj文件并从此处启用不安全的代码,但同样,我不认为我可以在从文件编译时使用此.csproj文件。
最后,如果上述方法都不可能,我是否可以使用C#.dll生成源代码?也许是VS默认使用的那个。
感谢您的帮助!
埃文
答案 0 :(得分:0)
通过使用CodeSnippetTypeMember类,您可以使用不安全的指针在codedom中生成方法。
您不能做的是以便携方式使用不安全指针生成方法,因为CodeDom只有语言能够使用的功能的子集。 您在encodeom中找到的功能更有可能出现在多种语言中。
关于你的问题;你应该能够从文件中编译一个类。创建一个与此相似的CompilerParameters对象。
CompilerParameters cp = new CompilerParameters();
cp.CompilerOptions = "/unsafe";
然后在您选择的提供商上调用CompileAssemblyFromFile