문제

.aspx 페이지에 다음을 추가하여 .Net 3.5 지원 웹 서버에 Linq를 로드하려고 합니다.

<%@ Import Namespace="System.Query" %>

그러나 이는 실패하고 네임스페이스를 찾을 수 없다는 메시지가 나타납니다.

'System' 네임스페이스에 'Query' 형식 또는 네임스페이스 이름이 없습니다.

나는 또한 운이 좋지 않게 시도했습니다.

  • System.Data.Linq
  • System.Linq
  • System.Xml.Linq

나는 .Net 3.5가 작동한다고 믿습니다. var hello = "Hello World" 작동하는 것 같습니다.

누구든지 도와주실 수 있나요?

추신:저는 Visual Studio를 사용하지 않는다는 점을 명확히 하고 싶습니다. 텍스트 에디터 내 코드를 .aspx 파일에 직접 작성하세요.

도움이 되었습니까?

해결책

IIS에서 버전 2를 선택했는데

글쎄요, 그게 당신 문제겠죠?3.5를 선택합니다.

실제로 실제 정보는 다음과 같습니다.

http://www.hanselman.com/blog/HowToSetAnIISApplicationOrAppPoolToUseASPNET35RatherThan20.aspx

다른 팁

web.config 파일의 일부는 어떤 모양입니까?

Visual Studio 2008을 사용하여 만든 새로운 ASP.NET 3.5 프로젝트의 모습은 다음과 같습니다.

<assemblies>
  <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
  <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
  <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
  <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
</assemblies>

답을 찾았습니다 :) web.config에 다음을 추가해야 했습니다.

<assemblies>  
    <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>  
    <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>  
    <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>  
    <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>  
    <add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
</assemblies>

그런 다음 코드에 다음을 추가할 수 있습니다.

<%@ Import Namespace="System.Linq" %>

@할 것이다,

당신의 도움을 주셔서 감사합니다.귀하의 답변 중 하나를 수락했습니다 :)

프로젝트가 2.0이 아닌 3.5를 대상으로 설정되어 있는지 확인하세요.

다른 사람들이 말했듯이 'var' 테스트는 C#3 테스트입니다(예:VS2008), 3.5 프레임워크가 아닙니다.

프로젝트 프레임워크 대상 설정을 올바르게 설정한 경우 이 시점에서 dll 참조를 수동으로 추가할 필요는 없습니다.

그만큼 var hello 물건은 컴파일러 마술이며 Linq 없이도 작동합니다.

다음에 대한 참조를 추가해 보세요. System.Core


죄송합니다. 잘 이해하지 못했습니다.추가한다고 했는데 System.Core 페이지가 아닌 웹 프로젝트의 참조에.

그만큼 Import 페이지의 네임스페이스는 기본적으로 문만 사용하므로 페이지의 네임스페이스를 건너뛸 수 있습니다.

csproj 파일에 System.Core 참조가 누락되었을 수 있습니다.csproj 파일에서 다음과 같은 줄을 찾습니다.

<Reference Include="System" />

그리고 그 아래에 다음과 같이 한 줄을 추가합니다.

<Reference Include="System.Core" />
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top