我过去曾使用Web发布工具来发布我的MVC 5应用程序,而没有在过去进行预编译。为了减少每个页面的初始加载时间,我修改了发布设置,如下所示,以便在发布过程中预编译应用程序。突然之间,我曾经难以置信的可靠出版变成了一场噩梦。
我对“将所有输出合并到单个程序.cshtml集中”的理解意味着,我所有的页面都将一起编译成Dashboard.Precompiled.dll,然后将其部署到IIS。情况并非如此-当我能够进行发布工作时,它将.complied为.cshtml项目中的每个文件创建一个文件,并且不执行任何合并。
目前的主要问题.compiled是仅在某些时间生成。当我查看obj\Debug\AspnetCompileMerge\TempBuildDir\bin目录时,没有.compiled文件也没有Dashboard.Precompiled.dll。
我尝试过重新启动Visual Studio,清理解决方案并重建,在发布之前预览或不预览更改,创建全新的发布配置文件以及一次又一次地修改高级预编译设置。通常,经过30分钟左右的处理后,我可以使.precompiled文件成功生成和发布,但是我无法确定是什么原因导致该时间段正常工作。下次我不更改任何设置进行发布时,它将再次停止工作。使用VS2015或VS2017RC时会发生此问题。
任何人都可以在这里帮助我指出正确的方向吗?我已经花了很多时间了解这一点,只是感觉到我现在要转圈了。
谢谢!
编辑 我仔细查看了构建输出,发现使用以下参数执行了对aspnet_compiler.exe的调用:
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_compiler.exe -v / -p C:\Users\steve\Source\Dashboard\master\src\Agility.Web\obj\Staging\AspnetCompileMerge\Source -d C:\Users\steve\Source\Dashboard\master\src\Agility.Web\obj\Staging\AspnetCompileMerge\TempBuildDir
当我直接从命令行运行此命令时,不会.compiled生成任何文件TempBuildDir\bin。
更新:最近已使用Visual Studio 2012 Update 2修复此问题(Visual Studio 2012 Web发布不复制文件)
我正在使用Visual Studio 2012 Web发布向导.我有一些保存的个人资料.适用于各种开发和测试服务器.在两个不同的项目中,对于某些发布配置文件,向导实际上不会部署任何文件.它删除服务器上的现有文件,然后不部署任何内容.
这是我进入输出窗口:(在这个例子中,我尝试切换"删除目标文件"选项,看看它是否会有所作为.它没有.)
1>------ Build started: Project: WebProject, Configuration: Prod Any CPU ------
1> WebProject -> C:\_TFS\WebProject\Release\R2012-10-16\Source\WebProject\Website\bin\Website.dll
2>------ Publish started: Project: Website, Configuration: Prod Any CPU ------
2>Connecting to C:\Deployments\Web Sites\Website...
2>Transformed Web.config using C:\_TFS\Website\Release\R2012-10-16\Source\Website\Website\Web.Prod.config into obj\Prod\TransformWebConfig\transformed\Web.config.
2>Copying all files to temporary location below for package/publish:
2>obj\Prod\Package\PackageTmp.
2>Publishing folder /...
2>
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
========== Publish: 1 succeeded, 0 failed, …Run Code Online (Sandbox Code Playgroud) 我publish to folder通过右键单击项目->发布->发布到文件夹,通过Visual Studio 使用选项。结果始终是具有应用转换的易于复制的项目。我想使用VSTS自动化此过程,并在VSTS上进行设置。
我用下面的步骤:
- NuGet restore
- Build solution
- Publish Build Artifacts到$(build.artifactstagingdirectory)
- Windows machine file copy从$(build.artifactstagingdirectory)使用远程机器admin login和password
最后,我在具有复杂文件夹结构的远程计算机上获得了zip软件包,而根本没有在其中进行任何转换。
怎么了?如何使用VSTS设置与Visual Studio中相同的“发布到文件夹”?
web-publishing one-click-web-publishing continuous-delivery azure-devops azure-pipelines
在web.config发布代理中,Job每2分钟运行一次.对于一个项目,我添加了发布限制.我已经从日期和时间添加了发布.但是该项目将从Web数据库中删除,直到那个时间.
这是sitecore的行为吗?
此外,我尝试创建一个新版本的项目,并添加了发布限制.它按预期工作.即,项目不会从Web数据库中删除,并且在指定时间后才会发布.这个解决方案适当吗?
我激活驱动器 API (V2),并尝试将文件发布到网络
我尝试以下操作,但显然,我错过了一些东西(资源)。有人可以帮助我吗?提前谢谢了
function test(){
var fileId = '1c5fRpKAk2YdUVzCa1LOCqDgTLZmYjsfSvTzR9BSGPYo';
var revisions = Drive.Revisions.list(fileId);
var items = revisions.items;
var revisionId = items[items.length-1].id;
var resource;
Drive.Revisions.update( resource , fileId, revisionId).published = true;
}
Run Code Online (Sandbox Code Playgroud) google-sheets web-publishing google-apps-script google-drive-api
我看到人们参考此链接,因为它可以解决我的问题。我阅读了完整的线程并尝试了那里给出的每一个想法。没有任何效果。我也使用 VS 2015 Community 而不是 VS 2013。
我正在尝试通过 VS 2015 社区发布 Web API。我以前做过,但这次似乎不起作用。
我从服务器上的 IIS 获得了发布设置,并且连接验证工作正常。
当我进行发布时,出现此错误:
项目中不存在目标“MSDeployPublish”
我尝试了几件事,但提到最多的是(重新)安装Microsoft.Web.WebJobs.PublishNuGet 包并检查 CSPROJ 文件中的这两行:
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
你已经猜到这在我的情况下不起作用(否则我不会在这里发帖)。
我注意到的第一件事是版本 10.0。我回溯了路径,但我的磁盘上没有 10.0 版本。只有 12、14 和 15。14 似乎有目标,所以我将版本更改为 14...同样的错误。
我尝试安装几个软件包,再次检查 CSPROJ 文件,但似乎没有任何反应。一遍又一遍地犯同样的错误(在这里有点沮丧......)
有没有人对此有其他解决方案?
* 更新 *
它似乎适用于其他项目。看起来这个特定项目有问题。
* 更新 2 *
我设置了一个到主机的 FTP 连接,因为我正在尝试其他的东西。我尝试使用 FTP 发布,但给出了几乎相同的错误:
项目中不存在目标“GatherAllFilesToPublish”。