是否可以在web.config转换文件中包含变量?对于每个环境,我有基本相同的转换,只是具有不同的值.例如,对于开发环境,我有......
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<appSettings>
<add key="serverName" value="server1" xdt:Transform="Replace" xdt:Locator="Match(key)" />
<add key="serverPath" value="\\server1" xdt:Transform="Replace" xdt:Locator="Match(key)" />
</appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)
对于QA环境,我有...
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<appSettings>
<add key="serverName" value="server2" xdt:Transform="Replace" xdt:Locator="Match(key)" />
<add key="serverPath" value="\\server2" xdt:Transform="Replace" xdt:Locator="Match(key)" />
</appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)
唯一的区别是server1与server2的值.这是一个简单的例子,实际上,我在转换中多次使用服务器值.有没有办法在变换文件中声明一个多次使用的变量?就像是...
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<property name="server" value="server2" />
<appSettings>
<add key="serverName" value="${server}" xdt:Transform="Replace" xdt:Locator="Match(key)" />
<add key="serverPath" value="\\${server}" xdt:Transform="Replace" xdt:Locator="Match(key)" />
</appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud) web-deployment-project msdeploy web-config-transform webdeploy
我正在尝试在Windows Server 2008 R2上安装Web Deployment Tool 2.0.
问题是我在安装过程中无法在功能自定义屏幕中看到选项"IIS 7部署处理程序",而如果我安装在类似的服务器上,我可以看到它.
我怀疑我的主服务器不符合某些要求,但哪些要求?或者其他方面的问题是什么?
谢谢
我用Visual Studio 2010 Ultimate SP1发布了我的项目,我在〜/ App_Data中有一堆文件.
我不记得首次上传appdata是使用FTP还是使用WebDeploy.问题是当我向〜/ App_Data添加新文件并发布网站时,这些文件(或〜/ App_Data下的文件夹)永远不会被发布.
我的项目Web部署设置具有"Exclude App_Data"UNCHECKED,因此它应该上传它,但它不会.
还有什么我应该做的吗?
我很难通过Webdeploy使用Visual Studio 2012 UI部署我的第三方非参考程序集.我有一个名为'libraries'的文件夹,其中包含一些程序集.通过我的*.csproj文件中的以下内容,我可以将Build Action设置为' ThirdPartyAssemblies ':
<ItemGroup>
<AvailableItemName Include="ThirdPartyAssemblies">
<Visible>false</Visible>
</AvailableItemName>
</ItemGroup>
<Target Name="AfterBuild">
<Message Text="Build | Third party assemblies" Importance="high" />
<Copy DestinationFolder="$(OutputPath)" SourceFiles="@(ThirdPartyAssemblies)" SkipUnchangedFiles="true" />
</Target>
Run Code Online (Sandbox Code Playgroud)
这很好用; 当我构建时,程序集被复制到bin文件夹的根目录:-)现在我遇到了一个问题:我无法通过Webdeploy将这些文件发布到服务器上.我尝试了很多东西,看起来我找不到适合这个任务的MSBuild目标...使用Visual Studio 2010我可以使用:
<Target Name="MyTargetName">
<Message Text="Deploy | Third party assemblies" Importance="high" />
<Copy DestinationFolder="$(OutputPath)" SourceFiles="@(ThirdPartyAssemblies)" SkipUnchangedFiles="true" />
</Target>
<PropertyGroup>
<OnAfterCopyAllFilesToSingleFolderForPackage>
MyTargetName
</OnAfterCopyAllFilesToSingleFolderForPackage>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
问题是; 该OnAfterCopyAllFilesToSingleFolderForPackage目标不再被称为: - /
在深入研究之后C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Web\Microsoft.Web.Publishing.targets' file, I've also tried 'OnAfterCopyAllFilesToSingleFolderForMsdeploy,我却无法让它发挥作用.
任何人都可以告诉我我可以使用哪些目标将这些程序集复制到Package文件夹/带有Webdeploy的服务器?
为什么Visual Studio 2012没有将完整的bin文件夹复制到Package文件夹?
msbuild msbuild-task webdeploy msbuild-target visual-studio-2012
我通过VS2012和命令行阅读了很多关于WebDeploy的帖子,文档页面等.
在所有部署方案中,我注意到目标站点应该已存在于目标计算机(IIS)上.
如果目标(主机)计算机上不存在创建网站的包,是否可以选择创建该网站?
是否可以使用来自多个开发人员PC的Web部署?
当我们尝试这样做时,似乎我们需要在其他人想要进行部署时重新发布所有内容.
我们做错了什么,有没有解决方法,或者在我们的场景中推荐的方法是什么?
我知道从中心位置部署是一个更好的解决方案,但不幸的是,目前这不是一个选择.
我一直在尝试将我的网站部署在运行Windows Server 2012/IIS8的新VPS上.Visual Studio可以连接并创建目录结构然后失败.查看服务器日志,我收到以下链接中描述的错误 - 滚动到底部.
5/12/2011 11:31:41 AM) An error occurred when the request was processed on the remote computer.
The server experienced an issue processing the request. Contact the server administrator for more information.
This particular error does not give you much to go on, but the picture becomes much clearer if you look at the Web Deploy error log in Event Viewer.
User: DEPLOYSERVER\User1
Client IP: 192.168.0.203
Content-Type: application/msdeploy
Version: 8.0.0.0
MSDeploy.VersionMin: 7.1.600.0
MSDeploy.VersionMax: 7.1.1070.1
MSDeploy.Method: …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用非管理员帐户(使用Web Deploy 3.0)部署ASP.net MVC网站.根据我见过的所有视频和文档,这是可能的.但是,当我尝试部署时,我收到错误(ERROR_USER_NOT_ADMIN).
我在服务器上的"IIS管理用户"下添加了用户.此用户存在于"IIS管理器权限"下的站点上.
我错过了什么?
这是pubxml:
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>MSDeploy</WebPublishMethod>
<SiteUrlToLaunchAfterPublish>http://sitename.com/</SiteUrlToLaunchAfterPublish>
<MSDeployServiceURL>http://server.com</MSDeployServiceURL>
<DeployIisAppPath>IISsitename</DeployIisAppPath>
<RemoteSitePhysicalPath />
<SkipExtraFilesOnServer>True</SkipExtraFilesOnServer>
<MSDeployPublishMethod>RemoteAgent</MSDeployPublishMethod>
<UserName>user</UserName>
<_SavePWD>True</_SavePWD>
<PublishDatabaseSettings>
<Objects xmlns="">
</Objects>
</PublishDatabaseSettings>
</PropertyGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)
ERROR_USER_NOT_ADMIN诊断 - 如果您尝试连接到远程代理服务但未提供适当的管理员凭据,则会发生这种情况.解决方案 - Remote Agent Service接受内置管理员或域管理员凭据.如果您有非域设置并且想要使用其他内置管理员帐户,请执行以下操作:在远程计算机上创建单独的用户组MSDepSvcUsers.在本地和远程计算机上创建本地帐户A. 在远程计算机上添加A到MSDepSvcUsers.使用帐户A发布,这将允许您发布而无需使用内置的>管理员帐户.
我正在尝试在Azure中进行自动化网站部署,而我正处于运行Web部署命令的阶段.用于生产的命令工作正常并更新内容但是用于登台的命令失败并且标题中包含错误代码.
我不确定问题是什么,如果是授权,我不知道在哪里为暂存帐户设置更多权限.
这是生产命令(有效):
"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -source:package="MyTestingSite.zip" -dest:auto,ComputerName="https://mytestingsite.scm.azurewebsites.net:443/msdeploy.axd?site=MyTestingSite",UserName="$mytestingsite",Password="fromProductionPublishProfile",authtype="Basic" -verb:sync
Run Code Online (Sandbox Code Playgroud)
这是用于暂存的(使用ERROR_USER_NOT_AUTHORIZED_FOR_CREATEAPP失败)
"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -source:package="MyTestingSite.zip" -dest:auto,ComputerName="https://mytestingsite-staging.scm.azurewebsites.net:443/msdeploy.axd?site=MyTestingSite__staging",UserName="$MyTestingSite__staging",Password="fromStagingPublishProfile",authtype="Basic" -verb:sync -verbose
Run Code Online (Sandbox Code Playgroud)
非常感谢帮助!谢谢!
题
在使用Web Deploy将我的ASP 5应用程序发布到IIS时,有什么方法可以自动执行迁移代码(EF 7)?
我试过了
在project.json,我在以下代码中添加了此代码scripts:
"scripts" : {
"prepublish": ["dnx ef database update", "other commands..."],
"postpublish": ["dnx ef database update"]
}
没有人为我工作.
附加信息
我按照此链接上的说明使用Web部署将我的ASP 5 RC-1 Web应用程序部署到IIS.
在发布设置中执行此操作后,我有:
在ASP 4应用程序中使用Web部署我有其他数据库选项:
webdeploy ef-migrations entity-framework-core webdeploy-3.5 asp.net-core
webdeploy ×10
asp.net-mvc ×2
command-line ×2
iis ×2
app-data ×1
asp.net ×1
asp.net-core ×1
azure ×1
msbuild ×1
msbuild-task ×1
msdeploy ×1
web ×1