我有一个MVC项目,出于不明原因拒绝发布到PC中的本地文件夹。
日志说明如下:
3>------ Publish started: Project: Admin, Configuration: Release Any CPU ------
3>Connecting to D:\Deploys...
3>Project "Admin.csproj" (GatherAllFilesToPublish target(s)):
3> Building with tools version "14.0".
3> Target "ValidateMSBuildToolsVersion" skipped. Previously built unsuccessfully.
3>Done building project "Admin.csproj" -- FAILED.
3>
========== Build: 2 succeeded, 0 failed, 1 up-to-date, 0 skipped ==========
========== Publish: 0 succeeded, 1 failed, 0 skipped ==========
我在发布或调试配置上调试时没有遇到任何问题。
答案 0 :(得分:64)
所以我做到了。
问题是" Microsoft.Net.Compilers"的版本。我从v2.6.1降级到v2.4.0。
我不知道为什么如果有人知道知道它会很酷。
答案 1 :(得分:2)
很抱歉重新打开该主题,但对我来说,清理解决方案适用于.NET.Compilers v2.7(Visual Studio 2015)。
答案 2 :(得分:1)
将“ Microsoft.Net.Compilers”从v2.9.0降级到v2.4.0就像一个魅力
答案 3 :(得分:1)
通过删除NuGet程序包“ Microsoft.Net.Compilers”,而不是降级到2.4.0,可以完全解决我的问题。
(在相当长的一段时间内,如果我只是重新启动VS,则发布错误将消失,但最终该错误停止了。)
答案 4 :(得分:1)
首先,选择模式(“调试”或“发布”)。然后右键单击解决方案/项目,然后选择“清理”。然后选择“重建”。然后发布。
答案 5 :(得分:0)
This just happened to me, it turned out to be a simple case of using an int in a ViewComponent call from a razor template, when that argument should have been a Guid. For some reason Intellisense didn't pick it up, I had to turn on detailed verbosity to see the error in the build process.
答案 6 :(得分:0)
我在Asp.net Core 2 MVC 2.1中遇到了这个问题 因此,我的解决方案中没有Microsoft.Net.Compilers。我试图重建所有项目,然后再次卸载/加载,但是没有任何变化。
1)因此,我已将VS 2017 15.7.3升级到15.8.7
2)然后从解决方案中的每个项目中删除所有bin / release目录内容。
3)然后从解决方案中的每个项目中删除所有obj目录的内容。
4)然后一个接一个地重建所有项目。
然后尝试发布并成功。
也许如果我在旧的Visual Studio中从第2步开始尝试,那将成功。
答案 7 :(得分:0)
我一直在从Visual Studio 2015构建和发布,因为那是我打开解决方案文件时版本选择器选择的Visual Studio版本。
我尝试改为从Visual Studio 2017打开解决方案文件,并且发布成功。
答案 8 :(得分:0)
我已经在 Properties> Build> Advanced 中切换到C# 7.3
,但是偶然地,只有在 Debug 配置中才这样做。发布(使用发布配置)时,它仍在使用C# 7.0
,但缺少我曾经使用的某些语言功能。
在错误列表窗格中看不到错误,仅在输出窗格中可见。
将“所有配置” 的语言版本设置为C# 7.3
对我来说已经解决了。
这使用的是Visual Studio 2017的当前版本,项目中未包含Microsoft.Net.Compilers
包 。
答案 9 :(得分:0)
尝试删除Microsoft.Net.Compilers
Nuget软件包。
我尝试了很多事情,没有成功。我做到了,出版成功了。可以肯定的是,我将项目从BitBucket恢复到原始状态,进行了测试以查看发布是否失败,再次删除了nuget包,然后它就可以正常工作了。
答案 10 :(得分:0)
我有类似的问题。该项目正在顺利进行,但是当我发布该项目时,Azure向我发送了错误消息。
我的项目目标.NET框架为4.6.2版本,并且正在升级Nugget软件包,不幸的是,我将.NET编译器升级到了最新版本,并且与目标.NET版本不兼容。您应该可以在这里看到它:
我通过将.NET编译器降级到与.NET Framework兼容的版本进行了修复(就我而言,要使用4.6.2框架,我需要使用.NET Compiller 2.10)。
答案 11 :(得分:0)
我在使用以下项目时遇到了类似的问题:
对于该项目,以下Azure DevOps Pipeline设置适用:
MSBuild参数:
/ t:Publish;构建/ p:PublishDir =“ $(build.artifactstagingdirectory)\” / p:SkipInvalidConfigurations = true / p:DeployOnBuild = true / p:WebPublishMethod = Package / p:PackageAsSingleFile = true / p: PackageLocation =“ $(build.artifactstagingdirectory)\”
Visual Studio测试平台安装程序:最新稳定版
使用以下选项选择测试:测试程序集
测试文件:
*测试 .dll
!** \ obj *
搜索文件夹:$(System.DefaultWorkingDirectory)
测试结果文件夹:$(Agent.TempDirectory)\ TestResults
测试平台版本:由工具安装程序安装
其他控制台选项:/ Framework:Framework45 /Diag:log.txt / Logger:console
构建平台:$(BuildPlatform)
构建配置:$(BuildConfiguration)
=== YAML
步骤:
步骤:
步骤:
步骤: