2013-07-11 197 views
3

所以,我是新來MVC4和C#中,我一直在設計這個網站約2周,並沒有出現過與智能感知的任何問題。Visual Studio的智能感知搞亂

2天后,Visual Studio告訴我@Viewbag和其他@命令不是我項目的一部分,我可能會缺少一些東西,或者它告訴我Viewbag在當前上下文中不存在。

我不能確定如何解決這一問題(我已經重新啓動該項目,並在機器IM工作)仍然顯示下劃線,並告訴我,它不會在上下文

存在由於我還是新當我看到/嘗試新的代碼,這是非常困難的,因爲一切是不對的..

圖片示例:

enter image description here enter image description here enter image description here enter image description here 長的錯誤,您可以勉強讀完指出

System.Web.WebPages.Html.htmlHelper」不包含定義‘ActionLink的’....缺少程序集引用?

我得到這個錯誤在剃刀任何@codes查看藏漢exept C#@的

WebConfig文件

<?xml version="1.0" encoding="utf-8"?> 
<!-- 
For more information on how to configure your ASP.NET application, please visit 
http://go.microsoft.com/fwlink/?LinkId=169433 
--> 
<configuration> 
<configSections> 
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> 
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> 
</configSections> 
<connectionStrings> 
<add name="DefaultConnection" connectionString="Server=ANE-SQL\ANESQLSERVER;Database=OilGas;User Id=software;Password=GLvp$102;" providerName="System.Data.SqlClient" /> 
</connectionStrings> 
<appSettings> 
<add key="webpages:Version" value="2.0.0.0" /> 
<add key="webpages:Enabled" value="false" /> 
<add key="PreserveLoginUrl" value="true" /> 
<add key="ClientValidationEnabled" value="true" /> 
<add key="UnobtrusiveJavaScriptEnabled" value="true" /> 
</appSettings> 
<system.web> 

<customErrors mode="RemoteOnly"></customErrors> 


<compilation debug="true" targetFramework="4.5" /> 
<httpRuntime targetFramework="4.5" /> 
<authentication mode="Forms"> 
    <forms loginUrl="~/Account/Login" timeout="180" /> 
</authentication> 
<pages> 
    <namespaces> 
    <add namespace="System.Web.Helpers" /> 
    <add namespace="System.Web.Mvc" /> 
    <add namespace="System.Web.Mvc.Ajax" /> 
    <add namespace="System.Web.Mvc.Html" /> 
    <add namespace="System.Web.Optimization" /> 
    <add namespace="System.Web.Routing" /> 
    <add namespace="System.Web.WebPages" /> 
    </namespaces> 
</pages> 



</system.web> 
<system.webServer> 
<!--<modules runAllManagedModulesForAllRequests="true" />--> 
<validation validateIntegratedModeConfiguration="false" /> 
<handlers> 
    <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" /> 
    <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" /> 
    <remove name="ExtensionlessUrlHandler-Integrated-4.0" /> 
    <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> 
    <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> 
    <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /> 
    </handlers> 
    </system.webServer> 
    <runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
    <dependentAssembly> 
    <assemblyIdentity name="DotNetOpenAuth.Core" publicKeyToken="2780ccd10d57b246" /> 
    <bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.1.0.0" /> 
    </dependentAssembly> 
    <dependentAssembly> 
    <assemblyIdentity name="DotNetOpenAuth.AspNet" publicKeyToken="2780ccd10d57b246" /> 
    <bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.1.0.0" /> 
    </dependentAssembly> 
    <dependentAssembly> 
    <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" /> 
    <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" /> 
    </dependentAssembly> 
    <dependentAssembly> 
    <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> 
    <bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.0.0.0" /> 
    </dependentAssembly> 
    <dependentAssembly> 
    <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" /> 
    <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" /> 
    </dependentAssembly> 
    <dependentAssembly> 
    <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" /> 
    <bindingRedirect oldVersion="1.0.0.0-1.3.0.0" newVersion="1.3.0.0" /> 
    </dependentAssembly> 
    </assemblyBinding> 
    </runtime> 
    <entityFramework> 
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework"> 
    <parameters> 
    <parameter value="v11.0" /> 
    </parameters> 
    </defaultConnectionFactory> 
    </entityFramework> 
    </configuration> 
+0

你還能編譯和運行你的項目嗎? – rhughes

+0

絕對可以。 – Pakk

+0

您使用的是Visual Studio和Windows的版本和版本? – rhughes

回答

1

創建一個新的互聯網web應用程序拿出你的變化(從舊的代碼)將新創建的互聯網Web應用程序的配置文件,添加老變回(跳過由線全部看完線查看有沒有真的被搞亂高達)

希望幫助

+0

我剛剛發現appSettings需要在Web.config文件中保持高位,否則它會讓Intellisense變得瘋狂,我把它放在元素下面(因爲這需要IIS首先) – Steven

+0

清理解決方案,然後重新構建爲我工作的解決方案。 – JoshYates1980

2

確保已指定你的剃刀版本正在使用您的web.config的appSettings

<appSettings> 
    <add key="webpages:Version" value="2.0.0.0" /> 
    <add key="ClientValidationEnabled" value="true" /> 
    <add key="UnobtrusiveJavaScriptEnabled" value="true" /> 
</appSettings> 

還要確保你的意見是在他們的標準位置(又名a.a. ~/Views文件夾)。

+0

它改成你上面顯示的代碼,沒有工作,甚至試圖設置 - <添加鍵=「網頁:啓用」值=「真」 /> - ,沒有影響,所有我的意見是在../查看,讓我發佈我的web.config文件,看看你是否能找到不屬於的東西? – Pakk

+0

在我的情況下,更改 ''到 ''解決了這個問題在我的機器上安裝了VS 2015並且在新的Web項目上使用了剃鬚刀, - not。這個差異在web.config網頁中:Version。 – andrew

1

有同樣的問題,我錯誤地添加到<appSettings>次Web.config文件,而不是「主」 Web.config文件之後。我花了幾個小時,以找出答案......

希望它可以幫助別人。