我正在使用Visual Studio 2019使用.NET Framework创建一个普通的MVC项目。我引入了一些具有.NET Framework依赖项的库,因此我对将.NET Core用于该特定项目不感兴趣。
创建模板后,我无法直接构建它。我收到以下错误。
1> ------重建全部开始:项目:titan.webtest.2019, 配置:调试任何CPU ------ 1> C:\ Dev \ BitBucket \ titan.webtest.2019 \ packages \ Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.0 \ build \ net46 \ Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props(39,5): 错误:可以在以下位置找到此编译的源文件: “ C:\ Users \ chalewis \ AppData \ Local \ Temp \ c1a9357d-9664-43ff-b620-3e3f9cd6da41.txt” 1> C:\ Dev \ BitBucket \ titan.webtest.2019 \ packages \ Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.0 \ build \ net46 \ Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props(39,5): 错误MSB3758:编译期间发生错误。错误 CVT1101:无法打开 'c:\ Users \ chalewis \ AppData \ Local \ Temp \ a0dlaaod \ CSC94F4D0561EB24F8C974FEF312EB3DC.TMP' 阅读 1> C:\ Dev \ BitBucket \ titan.webtest.2019 \ packages \ Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.0 \ build \ net46 \ Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props(39,5): 错误MSB3758:编译期间发生错误。 c:\ Users \ chalewis \ AppData \ Local \ Temp \ a0dlaaod \ a0dlaaod.0.cs(89,13): 警告CS0162:检测到无法访问的代码 1> C:\ Dev \ BitBucket \ titan.webtest.2019 \ packages \ Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.0 \ build \ net46 \ Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props(39,5): 错误MSB3758:编译期间发生错误。错误CS1583: 'c:\ Users \ chalewis \ AppData \ Local \ Temp \ a0dlaaod \ CSC94F4D0561EB24F8C974FEF312EB3DC.TMP' 不是有效的Win32资源文件 1> C:\ Dev \ BitBucket \ titan.webtest.2019 \ packages \ Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.0 \ build \ net46 \ Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props(39,5): 错误MSB4175:无法加载任务工厂“ CodeTaskFactory” 从程序集“ c:\ program files(x86)\ microsoft visual studio \ 2019 \ enterprise \ MSBuild \ Current \ Bin \ Microsoft.Build.Tasks.Core.dll”。 任务工厂必须为“ TaskType”属性返回一个值。 ===========全部重建:0成功,1失败,0跳过==========
我尝试过的解决方案:
创建.net核心Web模板应用程序。这样可以正确构建。
在Visual Studio 2015中创建.net框架Web模板。此
正常工作。
以管理员身份运行,这似乎无济于事。
我不确定Microsoft.CodeDom是什么,如何修复与之关联的东西。
答案 0 :(得分:0)
似乎此问题与为此设置的默认NuGet软件包(包括Roslyn软件包)有关。如果您卸载软件包Microsoft.CodeDom.Providers.DotNetCompilerPlatform,则您的解决方案应该可以使用。您可以在https://stackoverflow.com/a/42668206这样的SO问题中看到对此的完整解释。