Где Вы храните свою библиотеку сценариев PowerShell?

Если вы попали сюда из-за трассировки стека ниже, убедитесь, что вы сняли флажок «Включить ссылку на браузер» в Visual Studio, которая вызывает эту ошибку: uncheck this

Conversion> [13:31:10 ERR] Connection id "0HLJ153E20LDJ", Request id "0HLJ153E20LDJ:00000003": An unhandled exception was thrown by the application.
Conversion> System.ObjectDisposedException: The response has been aborted due to an unhandled application exception. ---> System.FormatException: Invalid ETag name
Conversion>    at Microsoft.Net.Http.Headers.EntityTagHeaderValue..ctor(StringSegment tag, Boolean isWeak)
Conversion>    at Microsoft.Net.Http.Headers.EntityTagHeaderValue..ctor(StringSegment tag)
Conversion>    at Microsoft.VisualStudio.Web.BrowserLink.BrowserLinkMiddleWareUtil.AddToETag(ResponseHeaders responseHeader, Int32 port)
Conversion>    at Microsoft.VisualStudio.Web.BrowserLink.BrowserLinkMiddleware.<>c__DisplayClass7_0.b__0()
Conversion>    at Microsoft.AspNetCore.Http.HttpResponse.<>c.<.cctor>b__30_0(Object callback)
Conversion>    at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.FireOnStartingMayAwait(Stack`1 onStarting)
Conversion>    --- End of inner exception stack trace ---
Conversion>    at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ThrowResponseAbortedException()
Conversion>    at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.InitializeResponseAsync(Int32 firstWriteByteCount)
Conversion>    at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.WriteAsync(ReadOnlyMemory`1 data, CancellationToken cancellationToken)
Conversion>    at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpResponseStream.WriteAsync(Byte[] buffer, Int32 offset, Int32 count, CancellationToken cancellationToken)
Conversion>    at System.IO.Stream.WriteAsync(Byte[] buffer, Int32 offset, Int32 count)
Conversion>    at Microsoft.VisualStudio.Web.BrowserLink.ScriptInjectionFilterStream.<>c__DisplayClass37_0.<b__0>d.MoveNext()
Conversion> --- End of stack trace from previous location where exception was thrown ---
Conversion>    at Microsoft.VisualStudio.Web.BrowserLink.SocketReader.ReadBytesIntoResponseHandler(Int64 totalBytesToRead, ResponseHandler handler, CancellationToken cancellationToken)
Conversion>    at Microsoft.VisualStudio.Web.BrowserLink.HttpSocketAdapter.ResponseReader.ReadBytesIntoResponse(Int64 bytesToRead)
Conversion>    at Microsoft.VisualStudio.Web.BrowserLink.HttpSocketAdapter.ResponseReader.ReadChunkedContent()
Conversion>    at Microsoft.VisualStudio.Web.BrowserLink.HttpSocketAdapter.ResponseReader.ReadResponse()
Conversion>    at Microsoft.VisualStudio.Web.BrowserLink.DelayConnectingHttpSocketAdapter.Microsoft.VisualStudio.Web.BrowserLink.IHttpSocketAdapter.WaitForResponseComplete()
Conversion>    at Microsoft.VisualStudio.Web.BrowserLink.ScriptInjectionFilterStream.WaitForFilterComplete()
Conversion>    at Microsoft.VisualStudio.Web.BrowserLink.BrowserLinkMiddleware.ExecuteWithFilter(IHttpSocketAdapter injectScriptSocket, String requestId, HttpContext httpContext)
Conversion>    at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)
Conversion>    at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)
Conversion>    at Microsoft.AspNetCore.Server.IISIntegration.IISMiddleware.Invoke(HttpContext httpContext)
Conversion>    at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application)

6
задан Jay Bazuzi 15 June 2009 в 21:53
поделиться

4 ответа

Мы обрабатываем сценарии PowerShell так же, как и другой код. Они хранятся в TFS, как и все остальное. Это обрабатывает хранение, резервное копирование, управление версиями и слияние. Наш стандартный процесс сборки и развертывания обрабатывает перемещение этих скриптов между серверами.

2
ответ дан 17 December 2019 в 07:08
поделиться

+1 для управления версиями. Скрипты powershell нашего проекта обычно заканчиваются в одном из:

  • $ / project / Trunk / Build
  • $ / project / Trunk / Tests / Bin
  • $ / project / Trunk / Tools / Bin

Для личного пользования скрипты, на данный момент использую два подхода. Сначала я создаю ~ \ Bin, помещаю его в путь и помещаю туда свои личные сценарии PowerShell. Второй подход заключается в том, что я использую Live Mesh для синхронизации папки PowerShell между всеми моими машинами. В нем есть сценарии, презентации и т. Д. Мне, вероятно, следует создать подкаталог Bin в папке сетки и поместить этот каталог bin на свой путь.

V2 представляет поддержку модулей, поэтому любые созданные мной модули будут находиться в ~ \ Documents \ WindowsPowerShell \ Modules.

Относительно вопроса об использовании чужих сценариев и управлении версиями, прочтите Модули и Манифесты модулей в V2.

1
ответ дан 17 December 2019 в 07:08
поделиться

I keep my powershell profile & custom scripts in a mercurial repository. I frequently switch between my development machine at home and the development environment at work so using a distributed VCS really has its advantages: Each machine is self-contained (no need to access a source-control-server at work from home through a VPN that does not exist in my case).

I pull/push changes from the local repo on each machine to a "transfer" repo on USB stick and things still work out correctly.

1
ответ дан 17 December 2019 в 07:08
поделиться

Я помещаю все в систему управления исходным кодом, включая мою постоянно расширяющуюся библиотеку PowerShell. Это основной способ распространения и распространения скриптов между машинами.

0
ответ дан 17 December 2019 в 07:08
поделиться
Другие вопросы по тегам:

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