我刚刚完成了使用CodeDom开发一个相当大的项目。嗯,几乎完成了--一个小问题--我的项目中的一个类需要/unsafe标记。我读到过CodeDom不支持带有不安全指针的方法或类型的*生成,但是,我想知道是否有某种方法可以从一个文件编译一个类-它已经包含了不安全标记。我知道我可以手动创建.csproj文件并从这里启用不安全的代码,但我认为在从文件编译时不能使用这个.csproj文件。
最后,如果上述任何方法都不可能,我是否可以使用C#.dll生成源代码?可能与VS默认使用的版本相同。
谢谢你的帮助!
埃文
发布于 2011-08-03 01:04:44
通过使用CodeSnippetTypeMember类,您可以使用不安全的指针在codedom中生成方法。
您不能做的是以可移植的方式生成带有不安全指针的方法,因为CodeDom只有语言能够实现的特性的子集。您在codedom中找到的特性更有可能出现在多种语言中。
至于您的问题,您应该能够从文件中编译一个类。创建一个与此类似的CompilerParameters对象。
CompilerParameters cp = new CompilerParameters();
cp.CompilerOptions = "/unsafe";然后在选定的提供程序上调用CompileAssemblyFromFile。
https://stackoverflow.com/questions/6762458
复制相似问题