这似乎是唯一有效的方法:
- 如果 .cs 文件在 App_Code 内...
- 并且不包含扩展方法:将构建操作设置为“编译”;否则项目中没有其他源代码知道它的存在。
- 并包含扩展方法:将构建操作设置为“无”;否则你会得到一个错误,即在和之间的引用
x.Foo
不明确。MyExtensions.Foo
MyExtensions.Foo
- 如果 .cs 文件位于 App_Code 之外,位于名为 Helpers 的文件夹中,则无论它是否包含扩展方法,它都必须将构建操作设置为“编译”。
我不明白这种行为。我不确定 ASP.NET MVC 是否包含 App_Code 的任何特殊权限,但它看起来确实如此......但只是在它自动编译包含 .cs 文件的扩展方法的意义上,即使构建操作是设置为“无”??有人请解释一下。