我一直在尝试将我的ASP.NET MVC 3 Beta应用程序部署到我的主机上.它支持所有必要的技术,并通过试错我设置需要引用Copy Local来True.然后我得到了我的应用无法找到视图的错误.它列出了它尝试过的.cshtml文件.我在我的项目中有这些文件,但它们没有部署.我发现,Visual Studio 2010中不设置.cshtml文件属性Build Action的Content,因为它确实为.aspx文件.
有没有办法让Visual Studio自动将.cshtml设置为Content,还是我必须手动将其设置为我添加的每个Razor View?
asp.net-mvc visual-studio-2010 web-deployment razor webdeploy
当我尝试使用msbuild为Web部署创建一个包时,它只包含项目dll.包zip文件或临时目录不包含引用项目的dll.
我看过这篇文章,这不是我的问题.我肯定使用我正在创建部署包的主项目中引用项目的代码.
我正在使用MSBUILD 4来创建包.
当我使用完全相同的项目文件使用VS2010创建包时,它工作正常.所有引用的项目都将其dll包含在package.zip文件中.
我已经尝试更改_PackageTempDir的位置,但也没有解决问题.
我已经尝试取出ExcludeFilesFromDeployment属性并将PackageAsSingleFile设置为false以查看是否会更改结果.
这是我的Package目标.所有的正则表达式都是这样我可以从搜索路径的末尾拉出我的项目文件名,然后使用该名称作为输出文件夹的名称和zip文件的名称.PackageOutputDir是我要导入的属性.
<Target Name="Package">
<MSBuild Projects="@(PackageProject)" Targets="Package" Properties="Platform=$(Platform);
Configuration=$(Configuration);
DeployOnBuild=true;
DeployTarget=Package;
PackageLocation=$(PackageOutputDir)\$([System.Text.RegularExpressions.Regex]::Split($(ProjectName), '(.*\\)([a-z,A-Z,0-9,_,-]+)(\.\*proj;)')[2])\$([System.Text.RegularExpressions.Regex]::Split($(ProjectName), '(.*\\)([a-z,A-Z,0-9,_,-]+)(\.\*proj;)')[2]).zip;
PackageAsSingleFile=true;
ExcludeFilesFromDeployment=Web.config;
_PackageTempDir=$(PackageOutputDir)\temp;">
</MSBuild>
</Target>
Run Code Online (Sandbox Code Playgroud)
关于为什么它不包括我引用的项目dll的任何想法?
假设我有一个web.config下参数<appSettings><add key="myParam" value="myValue"/></appSettings>,我想修改的值myParam取决于发布配置文件我用,即DEVELOPMENT.pubxml和TEST.pubxml一个网站部署.
实现这一目标最直接的方法是什么?如何指定pubxml要转换的键,它们的位置等?
无论是直接回答还是回答此问题的资源链接都将受到高度赞赏.
publish web-config visual-studio web-config-transform webdeploy
我正在尝试通过TFS在Visual Studio 2012解决方案中部署两个网站项目作为构建的一部分.我们正处于两个不同的Web服务器WIP(正在进行中)和DEV.
我们希望将不同的连接字符串部署到任一服务器,以便它们可以连接到不同的数 我们在使用Visual Studio的开发机器上测试了我们的解决方案,并且对于所有配置,当发布任何Web项目时,在web.config检查Web服务器时,连接字符串会按预期进行转换.
构建在WIP使用默认调试解决方案配置的服务器上正常运行.TFS Build中的配置是Any CPU | Debug.
对于下一个配置(DEV),我们确信Web项目都通过Visual Studio 2012发布到Web服务器并且web.config文件转换.
但是,当我们DEV使用MSBuild参数运行构建时,我们注意到没有发生转换.我们已将构建的Items to Build部分中的配置发送到:Any CPU | Dev.
/p:VisualStudioVersion=10.0 /p:DeployOnBuild=True;PublishProfile=app.ui.dev.pubxml /p:DeployTarget=MsDeployPublish /p:MsDeployServiceUrl=https://server-dev-hrtech:8172/MSDeploy.axd /p:CreatePackageOnPublish=True /p:MSDeployPublishMethod=WMSVC /p:AllowUntrustedCertificate=True /p:Username=username /p:Password=password /p:_WPPCopyWebApplication=True /p:PipelineDependsOnBuild=False
Run Code Online (Sandbox Code Playgroud)
当我们查看构建日志和输出目录时 - 我们可以看到obj/Debug目录中的已编译程序集,而不是obj/Dev我们预期的目录.在日志中,我们可以清楚地看到/p:Configuration="Dev"我们所期望的.
底线是已发布的web.config,最终在Web服务器上是web.configDebug配置的默认文件(即未转换).就好像MSBuild无法在解决方案的参数中看到传递的配置参数.
我现在尝试从我的开发机器上的命令行运行msbuild,试着理解为什么会发生这种情况.
通过剥离通过TFS构建发送的MSBuild参数,我可以看到这不会转换Web配置:
msbuild "app-no database.sln" /t:app_ui:Rebuild /P:TransformConfigFiles=true /p:Configuration=Dev /p:Platform="Any CPU" /p:MSDeployServiceUrl=https://app-dev-hrtech:8172/MSDeploy.axd /p:Username=username /p:Password=password /p:DeployOnBuild=True /p:PublishProfile=app.ui.dev.pubxml /p:VisualStudioVersion=11.0 > …Run Code Online (Sandbox Code Playgroud) 我们希望通过Visual Studio 2013中的Web Deploy方法设置发布.我已在目标Web服务器上安装了Web Deploy 3.5并且它正在正确部署.
我们还想使用Web Deploy 3.5的EncryptWebConfig规则处理程序来加密我们发布后的web.config文件,如下所述:http://blogs.iis.net/msdeploy/archive/2013/07/09/webdeploy -3-5-rtw.aspx,它给出了一个命令行示例.但是,这不是"发布Web"向导> Web部署方法中的一个选项,也不知道如何通过直接修改.pubxml PublishProfile来添加该规则...或者是我在IIS上以某种方式设置的加密WebConfig规则服务器?
我无法在任何地方找到有关此规则的任何进一步文档......
在构建部署包时从aspnet_compiler.exe获取以下警告:
ASPNETCOMPILER(0,0): Warning : The following assembly has dependencies on a version of the .NET Framework that is higher than the target and might not load correctly during runtime causing a failure: WebGrease, Version=1.6.5135.21930, Culture=neutral, PublicKeyToken=31bf3856ad364e35. The dependencies are: System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089. You should either ensure that the dependent assembly is correct for the target framework, or ensure that the target framework you are addressing is that of the dependent assembly.
Run Code Online (Sandbox Code Playgroud)
在我从1.3.0.0更新WebGrease之前发生了同样的事情尝试了以下两个程序集绑定但没有成功:
<dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" …Run Code Online (Sandbox Code Playgroud) 我们设置了一个Web项目,将同一个项目部署到少数几个azure网站.部署到这些网站时,在调试模式下的部署按预期工作.但是,当尝试在发布模式下将同一项目部署到网站时,始终会提示我们输入密码.
尝试删除.pubxml和.pubxml.user文件,但问题仍然存在.为什么它会在调试模式下部署OK,但在Release模式下提示输入密码?
注意:大多数这些项目都部署到这些网站中标记为应用程序的虚拟目录.其他项目在发布和调试模式下部署得很好,它似乎只是我们遇到问题的一个项目.
我试图使用Visual Studio 2015 CTP将ASP.NET MVC 6应用程序发布到Azure.并得到以下错误
Publishing with publish method [MSDeploy]
Calling msdeploy with the command: ["C:\Program Files (x86)\IIS\Microsoft Web Deploy\msdeploy.exe" -source:IisApp='C:\Users\*****\AppData\Local\Temp\AspNetPublish\NgCalendar-28\wwwroot' -dest:IisApp='ngcalendar',ComputerName='https://ngcalendar.scm.azurewebsites.net/msdeploy.axd',UserName='$ngcalendar',Password='{PASSWORD-REMOVED-FROM-LOG}',IncludeAcls='False',AuthType='Basic' -verb:sync -enableLink:contentLibExtension -enableRule:DoNotDeleteRule -retryAttempts:2 ]
INVOKEPOWERSHELL(0,0): Error : Unrecognized link extension 'contentLibExtension'.
INVOKEPOWERSHELL(0,0): Error count: 1.
不知道它来自何处以及如何调整它.
我在理解如何使用TeamCity上的Webdeploy将ASP.NET核心应用程序发布到服务器时遇到一些麻烦.
我安装了dotnet核心teamcity插件,并有两个构建步骤:
dotnet restore(作为命令行步骤,nuget上的内置步骤超时)
dotnet发布src/projectName/projectName.csproj
但是我很困惑第三步该怎么做,即将结果发布dotnet publish到我们的服务器.
传统上我们使用MSBuild并定位发布配置文件,但我不确定.NET内核是否使用MSBuild.
我有一个发布配置文件作为我的解决方案的一部分,在VS2017中成功运行.我已经看过TeamCity博客,该博客讨论了如何设置TeamCity以使用.NET Core,虽然它确实提到了WebDeploy,但它只是简单地提到它可以在dotnet publish没有真正解释如何的情况下一起使用.
我最近卸载了VS 2017并安装了VS 2019。
当我通过Web Deploy发布网站时,如果失败并显示2条错误消息
由于未将对象引用设置为对象实例的错误,因此无法加载发布证书对话框。我的网站
Web部署任务失败。(已使用指定的过程(“ Web管理服务”)连接到远程计算机(“ example.com”),但无法验证服务器的证书。如果您信任服务器,请再次连接并允许不受信任的证书。有关详细信息,请访问:http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_CERTIFICATE_VALIDATION_FAILED。)
我对如何解决这个问题一无所知...
编辑
根据评论,存在一个相同的问题,但该问题与Azure有关。我没有连接到任何与Azure相关的内容。我并不是说这使我的问题变得独特,更多的是我不了解原因/解决方案是否相同。连接时从Visual Studio部署到Azure失败
webdeploy ×10
msbuild ×2
.net ×1
asp.net-core ×1
asp.net-mvc ×1
azure ×1
iis-7.5 ×1
msbuild-4.0 ×1
msdeploy ×1
publish ×1
publishing ×1
razor ×1
release ×1
teamcity ×1
tfs ×1
tfsbuild ×1
web-config ×1