2011-10-07 351 views
-12

我有什么“试过” 1.添加对System.Core,System.Xml的引用。 Linq,System.Data.Linq通过右键单击我的网站根目录以及单个页面。命名空间'System'中不存在类型或名称空间名称'Linq'(缺少程序集引用吗?)

  1. 考虑到安装在web.config中,如下图所示,

    <configuration> 
        <connectionStrings> 
        <add name="ConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data  Source=|DataDirectory|\PayrollSystem_DB.mdb" providerName="System.Data.OleDb"/> 
    </connectionStrings> 
    <location path="~/Styles/StyleSheet.css"> 
    <system.web> 
        <compilation debug="true"> 
         <assemblies> 
          <add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
          <add assembly="System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
          <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
         </assemblies> 
        </compilation> 
        <authentication mode="Forms"> 
         <forms loginUrl="~/Login/frmLogin.aspx"/> 
        </authentication> 
        <authorization> 
         <deny users="?"/> 
        </authorization> 
    </system.web> 
    </location> 
    </configuration> 
    

它在该项目今天早些时候工作的罚款。我遇到了第一个问题的web.config当我加入

<authentication> and <authorization> 

标签的登录页面上的工作我的CSS停止。然后我添加了如上所示的位置标记,并修复了我的css登录页面,但是后来我开始在每个页面上都找到这个Linq错误。

我在网上搜索它被建议它是web.config的问题,所以我应该在web.config文件中添加System.core程序集的引用,但我仍然是同样的问题。

+3

Devs,或者只是你?你确定你不只是犯了一个错误? –

+5

你已经将你的整个'system.web'标签嵌入''位置'参考'css'。换句话说,除了样式表页之外,其他都不适用于... – mellamokb

+0

如果我犯了错误,那么点就不是我为什么必须经历这些黑客行为? – MStp

回答

0

R00T原因

  1. 添加

    <authorization> 
    

    标签与在上面的问题将使任何匿名用户访问比登录以外的任何页面,因为每个请求所示的代码将被重定向登录没有从服务器允许的其他内容,包括基本CSS。在网络上

  2. 建议的解决方案1是添加

    <location> 
    

    标签,它适用于CSS,但会导致问题与System.Linq的。

这是StUpIdItY的解决方案。首先,因为没有工作,我保存了web.config内容并删除了web.config,并从头开始重新创建,如下所示。

第一步

<?xml version="1.0"?> 
<configuration> 
<system.web > 
    <compilation debug="true" targetFramework="4.0"/> 
    <authentication mode="Forms" > 
     <forms loginUrl="~/Login/frmLogin.aspx" /> 
    </authentication> 
    <authorization > 
     <deny users="?" /> 
    </authorization> 
</system.web> 

这第一步了LINQ的错误了。

步骤2

问题的这种做法是因为我使用外部CSS文件也不会应用到登录页面,就像

 <authorization > 
     <deny users="?" /> 
    </authorization> 

将阻止任何匿名用户。 您仍然可以通过将CSS放入单独的文件夹并在外部CSS所在的文件夹下添加另一个web.config文件来使用CSS。在我的情况下,我的CSS文件是Styles文件夹下的StyleSheet.css。所以我刚刚添加web.config那里如下。

<?xml version="1.0"?> 
<configuration> 
<system.web> 
    <authorization> 
     <allow users="*"/> 
    </authorization> 
</system.web> 
</configuration> 

现在我的CSS工作正常,以及我可以使用LogIn页面和Linq。

感谢MICROSOFT在这些问题上浪费我的时间,但我希望我可以在未来为很多人节省挫折。

0

你里面有你的位置的System.Web。而位置路径是CSS文件。所以,似乎你的程序集有效地从项目中遗漏了。它没有位置元素的工作吗?或没有system.web内嵌位置?

+0

我删除了位置,但它仍然不起作用。 – MStp

相关问题