2016-05-13 72 views
0

我用詹金斯发表我的网站,但有一些问题ASP.NET 5 DNU发布覆盖

Error: The process cannot access the file 'Microsoft.Extensions.Logging.Debug\1.0.0-rc1-final\lib\net451\Microsoft.Extensions.Logging.Debug.dll' because it is being used by another process. 

它看起来像我的网站正在使用.dll文件,所以我不能覆盖它。我尝试通过Visual Studio发布它的工作。什么VS做的是VS

Publishing with publish method [FileSystem] 
Publishing files to C:\inetpub\HubbleRebuild 
Executing command ["C:\Program Files (x86)\IIS\Microsoft Web Deploy V3\msdeploy.exe" -source:contentPath='\PublishTemp\Website52\' -dest:contentPath='C:\inetpub\Website' -verb:sync -enableRule:DoNotDeleteRule -retryAttempts:2 -disablerule:BackupRule] 

发布到临时文件夹,然后部署到最终的路径有部署命令首先,我要覆盖在发布,但是我觉得这dnu publish should handle --out pointing to an existing directory。现在看起来不支持。所以我认为我需要按照VS方式发布,另一个问题是如何在部署时覆盖以及如何定义我不想覆盖的文件。

+0

在尝试发布之前停止您的应用程序。如果您发布到IIS,这将在RC2中得到解决。 – Pawel

+0

您是否有关于此修复程序的更多信息? – MichaelMao

+0

我不知道关于FIY的细节,但在RC2发布之前对你来说无关紧要。 RC2现在专门支持dotnet-cli和dnx(其中包括dnu),因为ASP.NET Core团队开始迁移到dotnet-cli,所以它不会收到任何功能更新或修复。问题是,目前还没有完整的VS 2015 IDE支持dotnet cli。命令行的东西虽然工作。 ASP.NET Core RC2预计将于2016年5月中旬发布,其预览工具1和预览版2预计将于6月底发布。 – Tseng

回答

0

最后,我在我的Jenkins上使用了两个命令来发布我的网站,它的效果很好。

1.dnu pulibsh到临时文件夹

2.deploy这个临时文件夹到目标站点

"C:\Program Files (x86)\IIS\Microsoft Web Deploy V3\msdeploy.exe" -source:contentPath='\PublishTemp\Website52\' -dest:contentPath='C:\inetpub\Website' -verb:sync -enableRule:DoNotDeleteRule -retryAttempts:2 -disablerule:BackupRule 

但我詹金斯服务器没有的Microsoft Web部署V3只有微软Web部署当我使用它失败的命令时,因为disablerule:BackupRule我删除了这部分后就工作了。

日志文件不覆盖和新功能更新。