Копируйте VS2008, “Публикуют веб-сайт” из командной строки

Согласно вашему сценарию, вы должны указать свой заголовок как Headers @{Authorization = "Bearer "+ $TokenResult.access_token}. Есть образец, который я использую.

$Params = @{
    'client_id' = '' 
    'redirect_URI' = ''
    'response_type'='code'
    'scope' = 'https://graph.microsoft.com/.default offline_access'
}
$ClientSecret ='.C$S|NAYQ:q)ES2w(A)*]Xp5T-?Fx+[aKE+YtmcaX!u1!{>T*wVJ70h:Q2s'
$TeantID = 'e4c9ab4e-bd27-40d5-8459-230ba2a757fb'
$Query = "?"; $Params.Keys | % {$Query+= "$(

Согласно вашему сценарию, вы должны указать свой заголовок как Headers @{Authorization = "Bearer "+ $TokenResult.access_token}. Есть образец, который я использую.

[110]

Подробнее см. На https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-auth-code-flow

)=$($Params.Item(

Согласно вашему сценарию, вы должны указать свой заголовок как Headers @{Authorization = "Bearer "+ $TokenResult.access_token}. Есть образец, который я использую.

[110]

Подробнее см. На https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-auth-code-flow

))&"} ; $Query = $Query.TrimEnd('&') $IE= new-object -ComObject "InternetExplorer.Application" $IE.Visible = $true $IE.navigate2("https://login.microsoftonline.com/$($TeantID)/oauth2/authorize$Query") Write-Host 'Press enter when Code is displayed in URL' pause Add-Type -AssemblyName System.Web $Code = [System.Web.HttpUtility]::ParseQueryString(([uri]$ie.LocationURL).Query)['code'] $ie.quit() $TokenResult = Invoke-RestMethod -Method Post -ContentType 'application/x-www-form-urlencoded' -Uri "https://login.microsoftonline.com/$($TeantID)/oauth2/v2.0/token" -Body @{ client_id = $Params.client_id scope = 'User.Read offline_access' code = $Code redirect_uri = $Params.Redirect_URI grant_type = 'authorization_code' client_secret = $ClientSecret } Invoke-RestMethod -Method Get -Uri 'https://graph.microsoft.com/v1.0/me' -Headers @{Authorization = "Bearer "+ $TokenResult.access_token}

Подробнее см. На https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-auth-code-flow

36
задан Glorfindel 12 March 2019 в 11:01
поделиться

6 ответов

Следующая команда дублирует диалоговое окно Опубликовать веб-сайт с настройками по умолчанию.

Команда для публикации веб-сайта с настройками по умолчанию

aspnet_compiler -nologo -v / - p "C: \ WebSite1" -u "C: \ TargetPath"

Ссылка

1) См. Содержимое сообщества под заголовком Вы хотите опубликовать сайт, но тогда у вас нет Visual Studio. .. на http://msdn.microsoft.com/en-us/library/20yh9f1b (classic) .aspx .

  • Microsoft Visual Studio 2005> Командная строка Visual Studio 2005
  • Microsoft Visual Studio 2008 > Командная строка Visual Studio 2008
  • Microsoft .NET Framework SDK v2.0> Командная строка SDK

2) См. «Средство компиляции ASP.NET (Aspnet_compiler.exe)» на http://msdn.microsoft .com / ru-ru / library / ms229863. инструмент командной строки, который поддерживается всеми версиями .NET Framework, вы можете использовать новую .NET Framework 2.0 инструмент, расположенный в Версия% SystemRoot% \ Microsoft.NET \ Framework \ 2 или новее \ Aspnet_compiler.exe в скомпилировать и развернуть ваш Интернет заявление. Для получения дополнительной информации см. Средство компиляции ASP.NET (Aspnet_compiler.exe) .

4) После выдержки из Практическое руководство. Предварительная компиляция веб-сайтов ASP.NET для развертывания на ] http://msdn.microsoft.com/en-us/library/ms227976.aspx .

Если ваш веб-сайт не является Интернетом Приложение информационных служб (IIS) и поэтому не имеет записи в IIS метабаза, использовала следующее значение для ключ -v.

aspnet_compiler -p PhysicalOrRelativePath -v / targetPath

В этом случае параметр PhysicalOrRelativePath относится к полностью квалифицированным путь к каталогу, в котором находится веб-сайт файлы или путь относительно в текущий каталог. Период (.) оператор разрешен в Параметр PhysicalOrRelativePath. В -v переключатель указывает корень, который компилятор будет использовать для разрешения ссылки на корневые приложения (для например, с оператором тильды (~)). Когда вы указываете значение / для ключ -v компилятор будет разрешить пути с помощью физического путь в качестве корневого.

38
ответ дан 27 November 2019 в 05:45
поделиться

Я думаю, что вы ищете задачу AspNetCompiler

<Target Name="PublishToIIS" DependsOnTargets="Publish">
    <AspNetCompiler    
            VirtualPath="$(IISVirtualPath)"
            TargetPath="$(IISTargetPath)"
            PhysicalPath="$(MSBuildProjectDirectory)/trunk/InternalAppCS/Web.UI/"
            Force="true"
            Debug="$(IISDebug)"
     />

</Target>
6
ответ дан 27 November 2019 в 05:45
поделиться

Лично я использую buildbot, который выполняет команды для меня, мне пришлось создать сценарий VBS, который выполняет загрузку для меня.

Я установил WinSCP , чтобы выполнить работу ftp, а затем просто написал сценарий загрузки:

Set WshShell = CreateObject("WScript.Shell")
sCmd1 = """C:\Program Files\WinSCP\winscp.com"" <myusername> /command ""option batch on"" ""option confirm off"" ""put " & DefaultPath & strResult & "\" & DefaultFileName & " /Usr/<myuser>/" & updateType & "/" & strResult & "/"" ""exit"""

Для предварительной компиляции сайта из командной строки я делаю следующее, однако делаю это на веб-сервере а не перед его загрузкой:

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_compiler -p "D:\<mycompany>\Backedup\Web Sites\<mysite\Root" -v /
4
ответ дан 27 November 2019 в 05:45
поделиться

В функции «Публикация ...» нет ничего волшебного, что вы не могли бы воссоздать самостоятельно, тем более что вы ориентированы на общий файловый ресурс.

По сути, все, что он делает, это копирует ваши файлы из одного места в другое. Используя NAnt, Вы можете выполнить это с помощью задачи copy или использовать задачу exec для вызова xcopy Если вы используете инструмент сборки, отличный от NAnt, я Я уверен, что есть поддержка для подобных задач.

Если вы хотите оставить исходный код и отладочную информацию позади, вы можете исключить файлы, заканчивающиеся на .cs или .pdb. И NAnt copy, и xcopy предоставляют простые способы сделать это.

-1
ответ дан 27 November 2019 в 05:45
поделиться

Я использовал msbuild именно для того, что вы описываете. Вы пытались установить свойство как это?

 /property:"OutDir=c:\temp\taweb\;WebProjectOutputDir=c:\temp\taweb\"

Если он по-прежнему не работает, дайте мне знать, и я могу выслать вам мой bat-файл, который использует сценарий msbuild, который получает svn, создает файл assembly.info, развертывает веб-сайт и, наконец, запускает http получить на домашней странице сайта, просто чтобы убедиться, что он построен и развернут правильно.

Надеюсь, это поможет Рихан

4
ответ дан 27 November 2019 в 05:45
поделиться

Добавьте в файл .csproj:

<Target Name="AfterBuild">
<Message Text="Copying to Deployment Dir:" />
<Copy SourceFiles="@(Content)" DestinationFolder="..\PreCompiledWeb\%(Content.RelativeDir)" />
<CreateItem Include="$(OutputPath)\*">
    <Output TaskParameter="Include" ItemName="Binaries"/>
</CreateItem>
<Copy SourceFiles="@(Binaries)" DestinationFolder="..\PreCompiledWeb\bin" />

Измените ".. \ PreCompiledWeb" для папки, в которую вы хотите опубликовать, или вы можете указать переменную, например: $ (OutputFolder), которую вы можно передать

, затем перейти в папку своего веб-приложения и выполнить:

msbuild /t:Build

Затем вы можете скопировать эти файлы куда хотите, используя xcopy:

xcopy "..\PreCompiledWeb\*.*" "C:\MySite\" /e

Это должно сработать.

5
ответ дан 27 November 2019 в 05:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: