我知道之前有人问过,但没有一个对我有用,而且我的情况有点不同。
我的MVC 4项目在本地运行但在服务器中无法运行此错误:
Compiler Error Message: CS0246: The type or namespace name 'ProfileCommon' could not be found (are you missing a using directive or an assembly reference?)
Source Error:
Line 194: }
Line 195:
Line 196: protected ProfileCommon Profile {
Line 197: get {
Line 198: return ((ProfileCommon)(this.Context.Profile));
Source File: c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\e3c4a897\ff4f4317\App_Web_pageheader.ascx.cdcab7d2.rpk2croq.0.cs Line: 196
我编写了一个自定义ProfileProvider
并将项目配置为使用它:
<profile enabled="true" defaultProvider="sql">
<providers>
<clear />
<add name="sql" type="BusinessLogic.ProfileProvider" connectionStringName="c" applicationName="/" />
</providers>
</profile>
我使用ProfileBase
类来访问用户个人资料而不是ProfileCommon
。上面的错误是在编译器生成的文件中。为什么asp.net会生成一个无法编译的代码?以及为什么它在当地工作?
我在本地安装了.Net Framework 4.5.1,但在服务器上安装了4.5。它与问题有关吗?
答案 0 :(得分:8)
当我们从网站项目迁移到Web应用程序项目时,在我们的部署中发生了同样的事情(尽管WebForms带有WebAPI服务)。
我们的解决方案是从服务器上的已部署文件夹中删除PrecompiledApp.config,然后重新启动IIS。