2012-08-14 3 views
1

SharePoint 2010 (SharePoint Online 프로젝트)에서 샌드 박스 솔루션으로 작업하고 있습니다.배포 단계에서 솔루션 추가 오류가 발생했습니다.

내가 오류는 내가 "솔루션"요소에서 "코드 액세스 보안"태그를 제거하면 Visual Studio에서 내 매니페스트 파일 (Package.package)이이

<Solution xmlns="http://schemas.microsoft.com/sharepoint/" SolutionId="c353c02e-f7b0-4c58-b7c6-066adf1d7e0c" SharePointProductVersion="14.0"> 
    <CodeAccessSecurity> 
    <PolicyItem> 
     <PermissionSet class="NamedPermissionSet" version="1" Description="Permission set for ProjectNameHere."> 
     <IPermission class="AspNetHostingPermission" version="1" Level="Minimal" /> 
     <IPermission class="SecurityPermission" version="1" Flags="Execution,ControlPrincipal,ControlAppDomain,ControlDomainPolicy,ControlEvidence,ControlThread" /> 
     <IPermission class="Microsoft.SharePoint.Security.SharePointPermission, Microsoft.SharePoint.Security, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" version="1" ObjectModel="True" /> 
     <IPermission class="System.Security.Permissions.EnvironmentPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Read="UserName" /> 
     <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Read="$AppDir$" Write="$AppDir$" Append="$AppDir$" PathDiscovery="$AppDir$" /> 
     </PermissionSet> 
     <Assemblies> 
     <Assembly Name="ProjectNameHere" /> 
     </Assemblies> 
    </PolicyItem> 
    </CodeAccessSecurity> 
    <Assemblies> 
    <Assembly Location="ProjectNameHere.dll" DeploymentTarget="GlobalAssemblyCache"> 
     <SafeControls> 
     <SafeControl Assembly="ProjectNameHere, Version=1.0.0.0, Culture=neutral, PublicKeyToken=7e39ecec9e69afb4" Namespace="ProjectNameHereWebPart" TypeName="*" /> 
     </SafeControls> 
    </Assembly> 
    </Assemblies> 
    <FeatureManifests> 
    <FeatureManifest Location="ProjectNameHere_Feature2\Feature.xml" /> 
    </FeatureManifests> 
</Solution> 

과 같은

Error 19 Error occurred in deployment step 'Add Solution': This solution contains invalid markup or elements that cannot be deployed as part of a sandboxed solution. Solution manifest for solution 'c353c02e-f7b0-4c58-b7c6-066adf1d7e0c' failed validation, file manifest.xml, line 3, character 4: The element 'Solution' in namespace 'http://schemas.microsoft.com/sharepoint/' has invalid child element 'CodeAccessSecurity' in namespace 'http://schemas.microsoft.com/sharepoint/'. List of possible elements expected: 'FeatureManifests, Assemblies, ActivationDependencies' in namespace 'http://schemas.microsoft.com/sharepoint/'. 
     0 0 Starwood_Forms 

솔루션은 문제없이 VS에서 배포 및 활성화됩니다. 웹에서 솔루션을 활성화 할 수 없습니다. 시도했습니다.

솔루션에는 LINQ를 사용하여 다른 목록에서 데이터를 가져오고 목록에 새 목록 항목을 만드는 웹 파트가 포함되어 있습니다. 내가 오류

The type initializer for 'Microsoft.SharePoint.Linq.Resources' threw an exception. 
Error Source: Microsoft.SharePoint.Linq 
Stack Trace: at Microsoft.SharePoint.Linq.Resources.GetString(String resourceId, Object[] args) 
    at Microsoft.SharePoint.Linq.EntityTracker.ProcessAssociatedEntity(NewEntityRef newEref, Stack`1 visited, PropertyMap pm, Object lookupEntity) 
    at Microsoft.SharePoint.Linq.EntityTracker.ProcessAssociatedEntities(NewEntityRef newEref, ITrackOriginalValues origVals, Stack`1 visited) 
    at Microsoft.SharePoint.Linq.EntityTracker.SubmitNewEntity(NewEntityRef newEref, Stack`1 visited) 
    at Microsoft.SharePoint.Linq.EntityTracker.SubmitNewEntities() 
    at Microsoft.SharePoint.Linq.EntityTracker.SubmitChanges(ConflictMode failureMode, Boolean systemUpdate) 
    at Microsoft.SharePoint.Linq.DataContext.SubmitChanges(ConflictMode failureMode, Boolean systemUpdate) 
    at Microsoft.SharePoint.Linq.DataContext.SubmitChanges() 
    at Starwood.Forms.TaskForceNeedWebPart.TaskForceNeedWebPart.btnSubmit_Submit(Object sender, EventArgs e) 
Target Site: System.String GetString(System.String, System.Object[]) 
Help Link: 
Data Begin Information 

Data End Information 



Writing inner exception details. 

Error Message: Request for the permission of type 'System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed. 
Error Source: mscorlib 
Stack Trace: at System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet) 
    at System.Security.CodeAccessPermission.Demand() 
    at System.Reflection.Assembly.VerifyCodeBaseDiscovery(String codeBase) 
    at System.Reflection.Assembly.GetName(Boolean copiedName) 
    at Microsoft.SharePoint.Linq.Resources.GetResourceManager() 
    at Microsoft.SharePoint.Linq.Resources..cctor() 
Target Site: Void Check(System.Object, System.Threading.StackCrawlMark ByRef, Boolean) 
Help Link: 
Data Begin Information 

Data End Information 

코드가 새 목록 항목을 만들 셈 때 나는 위의 오류가있어 그것을하지 않고 있기 때문에

나는 "솔루션"의 "코드 액세스 보안"태그를 addedd.

나는 샌드 박스 시각적 웹 파트를 사용하고 있습니다.

"SolutionActor"에서 "CodeAccessSecurity"자식 요소를 제거해도 솔루션이 아무런 문제없이 활성화되지만 새 목록 항목을 만들 수는 없습니다. 나는 새 목록 항목을 만들 데이터 컨텍스트를 사용하지 않는 당신이 어떤 다른 아이디어가 있다면 다음 코드가 완벽하게

SPList list = objWeb.Lists.TryGetList("ListName"); 
         SPListItem newListItem = list.AddItem(); 
         newListItem["Department"] = new SPFieldLookupValue(int.Parse(ddlDepartment.SelectedValue), ddlDepartment.SelectedItem.Text); 

         newListItem.Update(); 

하십시오 작동하면 새 목록 항목을

답변

0

을 만드는 셰어에 LINQ를 사용하고 알려주세요

관련 문제