Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何让自动生成的文件识别它自己创建的方法?_C#_Visual Studio 2010_Sharepoint 2010_Css - Fatal编程技术网

C# 如何让自动生成的文件识别它自己创建的方法?

C# 如何让自动生成的文件识别它自己创建的方法?,c#,visual-studio-2010,sharepoint-2010,css,C#,Visual Studio 2010,Sharepoint 2010,Css,我有一个*.tt文件(实际上有两个,但它们的作用类似,所以我只讨论一个) 我把它们像另一个项目一样设置好,在那里它们工作得很好。它们的属性设置相同,例如: CustomTool = TetxtTemplatingFilePreprocessor 当我选择“运行自定义工具”时,将创建相应的*.cs文件: // ------------------------------------------------------------------------------ // <auto-gen

我有一个*.tt文件(实际上有两个,但它们的作用类似,所以我只讨论一个)

我把它们像另一个项目一样设置好,在那里它们工作得很好。它们的属性设置相同,例如:

CustomTool = TetxtTemplatingFilePreprocessor
当我选择“运行自定义工具”时,将创建相应的*.cs文件:

// ------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version: 10.0.0.0
//  
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
…无法编译。错误是,“'QuizModule.QuizModule Web部件.Templates.FormTemplate'不包含'TransformText'的定义,并且找不到接受'QuizModule.QuizModule Web部件.Templates.FormTemplate'类型的第一个参数的扩展方法'TransformText'

它如何生成代码,却找不到引用的方法?实际上,它确实生成了方法,它就在FormTemplate.cs中:

FormTemplate formTemplate = new FormTemplate(POST, this);
output.Write(formTemplate.TransformText());
#line 1   
"C:\Projects\QuizModule_Test\QuizModule_Test\QuizModuleWebPart\Templates\FormTem
plate.tt"   

[System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "10.0.0.0")]
    public partial class FormTemplate : FormTemplateBase
    {
        {
        public virtual string TransformText()
            {
为什么它看不到自己的方法

更新
事实证明,这是一个“我的坏处”,似乎产生了一个错误的MSG。发生的事情是,我的一些名称空间是错误的——代码是从另一个项目逐字复制的,并且名称空间没有更新。一旦这些问题得到纠正,项目就可以正常运行。

原因

事实证明,这是一个“我的坏处”,似乎产生了一个错误的MSG

解决方案


发生的事情是,我的一些名称空间是错误的——代码是从另一个项目逐字复制的,并且名称空间没有更新。一旦这些被纠正,项目就编译得很好。

侧注-考虑版主的标记为“其他-用赏金关闭问题”-没有多少点,它继续开放与赏金…至少把评论放在最上面,说它已经解决了/已经“关闭”,甚至可能添加更新作为答案。@AlexeiLevenkov同意,这只是浪费了我5分钟的时间,我确实在Alexei发表评论后立即标记了它。@AlexeiLevenkov-说问题已经解决的方法是发布一个答案并接受它。不要把它放在文章的标题或正文中。@Jeremythonpson-对不起。看来我找错人了。