2012-01-17 1 views
0

나는 며칠 전에 실버 라이트를 배우기 시작했다. Silverlight 4로 Pro 비즈니스 응용 프로그램을 사용하고 있습니다.프로젝트 .shared.cs가 웹에서 실버 라이트 프로젝트로 코드 변환 할 때 누락 된 어셈블리 참조를 피하는 방법

오늘 전체 솔루션을 빌드 할 때 문제가 발생했습니다. (실버 라이트와 웹 프로젝트 보유) .shared.cs 확장자를 가진 부분 클래스를 사용하여 웹 프로젝트에 간단한 계산 필드를 추가했습니다.

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 

namespace BusinessApplication1.Web 
{ 
    public partial class Product 
    { 
     public decimal ProfitMargi 
     { 
      get { return ListPrice - StandardCost; } 
     } 
    } 
} 

하지만이 솔루션을 빌드 할 때,이 부분 클래스는 내가 다음과 같은 오류 얻을 실버 라이트 프로젝트에 복사 :

The type or namespace name 'Web' does not exist in the namespace 'System' (are you missing an assembly reference?) 

에 :

using System.Web; 

나는이를 제거 할 수 없습니다를 쓰기 보호되어 있고 다시 빌드 할 때 덮어 쓰기 때문에 파일에서 참조하십시오.

여기에 무슨 문제가 있습니까?

+0

해당 네임 스페이스가 들어있는 어셈블리 참조가 누락 되었습니까? –

+0

그래, 누락되었지만 추가하려고하면 Silverlight 런타임에 대해 작성되지 않았으므로 System.Web.dll에 대한 참조를 추가 할 수 없습니다. Silverlight 프로젝트는 Silverlight 어셈블리에서만 작동합니다. – ThdK

답변

1

저는 100 % 아니지만 .NET Framework의 Silverlight 버전에서 지원되지 않기 때문에 IIRC에서는 System.Web.dll과 같은 일부 어셈블리를 Silverlight 프로젝트 내부에서 사용할 수 없습니다. 나는 이것에 잘못 될 수 있지만 Silverlight로 작업 할 때 비슷한 문제가 있다는 것을 기억하고 내가 좋아할만한 .NET 내에서 일부 기능을 사용할 수 없다는 것을 깨닫는 듯합니다.

Google을 둘러 보니 많은 사람들이 System.Web.dll 대신 System.Web.Silverlight.dll을 사용한다고 말하는 것 같습니다. 이에 대한 정보는 here을 참조하십시오.

+0

SDK에서 System.Web.Silverlight를 찾을 수 없습니다. 하지만 나는이 줄을 'System.Web'을 사용하여 서버 측에서 제거 할 수 있음을 발견했다.이 파일에 대한 쓰기 권한이있다. 클라이언트 나 서버 측에서도 필요하지 않기 때문이다. 그러나 나는이 기능이 필요 없을 것입니다 ... – ThdK

관련 문제