2011-10-07 398 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

相關問題