小编Wha*_*ool的帖子

Web.Config在Microsoft MSBuild之外转换?

是否可以使用Microsoft的XML文档转换,在MSBuild之外准备web.configs?我想使用PowerShell进行这些转换,而无需通过MSBuild引擎运行它.如果Microsoft使用标准XSLT,那么在PowerShell中很容易做到.据我所知,我必须使用他们需要构建引擎的C:\ Program Files(x86)\ MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.Tasks.dll.谢谢

msbuild powershell powershell-2.0 xml-document-transform

52
推荐指数
6
解决办法
2万
查看次数

使用msdeploy和Visual Studio 2012构建一次并部署到多个环境

处理集中配置,应用程序设置和连接字符串,用于多个解决方案,同时还切换到从命令行使用msdeploy来部署Web应用程序.理想情况下,我希望构建一次包,并在将包部署到每个环境时获取最新配置.我需要一些关于最佳方法的建议.

  1. 使用Parameters.xml和SetParameters.xml文件动态交换设置和连接字符串.见http://vishaljoshi.blogspot.com/2010/07/web-deploy-parameterization-in-action.html
  2. 使用machine.config或服务器级web.config文件存储常用应用程序设置和连接字符串.
  3. 使用https://github.com/sayedihashimi/package-web中的 packageweb NuGet包中的packageweb它允许使用带有msdeploy的web.config转换.
  4. 使用file或configSource属性以及SetParameters指向不同的配置文件,但必须是来自Web根目录的相对属性.
  5. 使用发布配置文件 请参阅 使用发布配置文件部署现有包

谢谢

msbuild msdeploy

37
推荐指数
3
解决办法
2万
查看次数

如何在与MSDeploy一起使用的Parameters.xml中指定IIS Web应用程序名称

我已经找到了如何设置应用程序池和默认值

<parameter name="applicationPool" defaultValue="MyDefaultValue" >
  <parameterEntry kind="DeploymentObjectAttribute" scope="application"
                  match="application/@applicationPool" />
</parameter>
Run Code Online (Sandbox Code Playgroud)

有谁知道如何设置"IIS Web应用程序名称"?它在SetParameters.xml文件中生成为

<setParameter name="IIS Web Application Name" value="Default Web Site/MySite_deploy" />
Run Code Online (Sandbox Code Playgroud)

我可以覆盖SetParameters.xml文件,但我宁愿在Parameters.xml文件中设置它,但我找不到parameterEntry类型.

谢谢

msdeploy

20
推荐指数
1
解决办法
1万
查看次数

使用PowerShell start-process和invoke-command远程压缩文件

我希望能够远程进入系统并在那里压缩或解压缩文件,并在完成时获得过程信号.启动过程使用-wait参数从PowerShell同步运行7z.exe.当我尝试将它与invoke-command结合使用以远程运行相同的命令时,它不支持wait参数,我相信它会杀死进程,因为它快速返回并且从不生成zip文件.

[string]$sevenZip = "C:\Program Files\7-zip\7z.exe"
[Array]$arguments = "a", $zipFilename, $dirToZip;

"Starting $sevenZip with $arguments"
Start-Process $sevenZip "$arguments" -Wait
#blocks and waits for zip file to complete
Run Code Online (Sandbox Code Playgroud)

我最初尝试过PSCX write-zip和expand-archive,但后者与64位.NET 4.0配置不兼容.所以现在我试图通过命令行调用64位7z.exe.我没有收到任何错误.PowerShell将作业报告为运行状态,然后完成,并且不会生成任何zip文件.

Invoke-Command -ComputerName localhost -FilePath 'C:\Scripts\ZipIt.ps1' -ArgumentList    'd:\TestFolder','d:\promote\TestFile.7z' -AsJob
Run Code Online (Sandbox Code Playgroud)

感谢任何帮助或指针.

谢谢,格雷戈里

powershell start-process invoke-command

5
推荐指数
1
解决办法
6282
查看次数

使用Json.Net JObject自动映射反射错误

将AutoMapper与json.net JObject一起使用时,我遇到了反射错误

public class Source
{
    public string Key { get; set; }
    public JObject Value { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这是目标

public class Target
{
    public string Key { get; set; }
    public JObject Value { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这是映射

public class SourceTargetMapping
{
    public static void IntializeMapping()
    {
        Mapper.CreateMap<Target, Source>()
            .ForMember(g => g.Value, op => op.ResolveUsing(s => s.Value));

        Mapper.CreateMap<Source, Target>()
            .ForMember(s => s.Value, op => op.ResolveUsing(g => g.Value));
    }

}

public static class SourceTargetMappingExtensions
{
    public static …
Run Code Online (Sandbox Code Playgroud)

c# json.net automapper

2
推荐指数
1
解决办法
2476
查看次数