Я написал сценарий, который вставляет некоторые тестовые данные в библиотеку документов. Я намерен использовать его в качестве этапа после развертывания в Visual Studio 2010, чтобы библиотека не была пустой после отзыва и развертывания.
Соответствующие части сценария:
Install.ps1:
$scriptDirectory = Split-Path -Path $script:MyInvocation.MyCommand.Path -Parent
. "$scriptDirectory\Include.ps1"
$webUrl = "http://localhost/the_site_name"
$web = Get-SPWeb($webUrl)
...
Include.ps1: com / Forums / en-US / sharepoint2010programming / thread / faa25866-330b-4e60-8eee-bd72dc9fa5be
Я не могу получить доступ к 64-битному API SharePoint с помощью 32-битных клиентов. Поскольку Visual Studio является 32-разрядной версией, действие после развертывания будет выполняться в 32-разрядном процессе и завершится ошибкой. Однако существует 64-разрядная версия MSBuild. Если мы позволим ему запустить сценарий PowerShell, все будет в порядке.
Оберните сценарий в файл MSBuild, например:
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Install" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="Install">
<Exec Command="powershell .\Install" />
</Target>
</Project>
Затем установите для командной строки после развертывания значение:
%WinDir%\Microsoft.NET\Framework64\v4.0.30319\MSBuild $(SolutionDir)\ProjectFiles\TestData\Install.msbuild