找不到类型或命名空间名称“ProfileCommon”

时间:2012-06-17 18:57:49

标签: c# asp.net visual-studio-2008

好的,我正在使用Visual Studio中的C#网站创建一个ASP.NET。我使用了ProfileCommon并偶然发现了这个错误:

  

无法找到类型或命名空间名称'ProfileCommon'(是吗?   缺少using指令或程序集引用?)

希望它有快速修复? 我应该包含哪些指令?非常感谢。

编辑:有什么建议吗? - 安装此加载项后: http://archive.msdn.microsoft.com/WebProfileBuilder/Release/ProjectReleases.aspx?ReleaseId=980

  

Error 1 The "BuildWebProfile" task failed unexpectedly. System.ArgumentNullException: String reference not set to an instance of a String. Parameter name: s at System.Text.Encoding.GetBytes(String s) at WebProfileBuilder.Builder.IsProfileSame() at WebProfileBuilder.Builder.GenerateWebProfile(BuildWebProfile buildWebProfile) at WebProfileBuilder.BuildWebProfile.Execute()
at Microsoft.Build.BuildEngine.TaskEngine.ExecuteInstantiatedTask(EngineProxy engineProxy, ItemBucket bucket, TaskExecutionMode howToExecuteTask, ITask task, Boolean& taskResult) Cinemax

5 个答案:

答案 0 :(得分:1)

点击此处:http://forums.asp.net/t/1031740.aspx/1或此处Error "The type or namespace name 'ProfileCommon' could not be found"

配置文件的基类是ProfileBase类,用于处理用户配置文件。 当Web应用程序将用户配置文件启用时,将创建一个名为ProfileCommon的新类。此类用于配置文件配置部分中定义的每个属性的访问者。然后,ProfileCommon类的访问器调用getter和setter来检索和设置属性值。

您需要在项目中添加using System.Configuration;System.Web.Profile;

您可以在此处获得更多信息: http://msdn.microsoft.com/en-us/library/system.web.profile.profilebase.aspx

希望有所帮助!

答案 1 :(得分:1)

您很可能正在使用Web应用程序项目模板。配置文件仅与网站项目模板一起开箱即用。有关解决方案,请参阅herehere

答案 2 :(得分:0)

在我的情况下,我必须将配置文件元素添加到web.config文件。

var superSecret = function(spy){
  Object.keys(spy).forEach(function(key){ spy[key] = "redacted" });
  return spy;
}

请参阅MSDN -profile Element (ASP.NET Settings Schema)

答案 3 :(得分:0)

我花了很多时间来理解这个问题。对我来说,WebApplication项目工作正常,但我在部署的WebApplication版本上遇到此错误。 WebApplication不会自动创建ProfileCommon类。因此,我在项目中创建了以下类(没有名称空间,所有生成的代码都会看到它):

public class ProfileCommon: ProfileBase
{
}

就是这样!

但是如果您使用页面的Profile属性来获取和更新当前用户配置文件,则可以从您的配置文件类而不是ProfileBase继承

答案 4 :(得分:0)

我遇到了类似的问题,找不到 ProfileCommon 并且我的 ASP.NET 网站无法构建,并且出现了非常无用的错误:

The type initializer for 'System.Web.Compilation.CompilationLock' threw an exception.

我能够通过将我的 Web.config 文件中 sessionState 模式的大小写更正为:

<sessionState mode="Off"/>