【发布时间】:2019-02-26 01:41:57
【问题描述】:
我有一个 .Net Core 2.0 项目,它引用了一个项目,而该项目又具有程序集引用。在我将 Visual Studio 2017 升级到 15.8.5 版之前,一切正常。
升级后,当我尝试在 VS 中运行项目时,出现错误“找不到包的编译库位置”。这很令人惊讶,因为我以前没有得到它,但我以前见过这个问题,并且通过使用 .Net Core 2.0 进行程序集引用所需的 hack 解决了它,特别是替换了默认的 MetadataReferenceFeatureProvider(有关详细信息,请参阅 @987654321 @)。完成此操作后,项目在 Visual Studio 中构建并运行良好。
但是,当我尝试发布该项目时,我又遇到了同样的错误。目前,我无法发布。
有人知道我能做些什么吗? (项目需要一个编译好的MVC视图,所以不能用false来禁用编译。)
我越来越绝望,正在考虑回滚到 Visual Studio 的早期版本(如果可能的话!)。太郁闷了,微软催促你更新VS,然后更新就破坏了以前的工作方式!
这是堆栈跟踪:
找不到包“ShiftSchedulerSPA.Reference”的编译库位置 在 Microsoft.Extensions.DependencyModel.CompilationLibrary.ResolveReferencePaths(ICompilationAssemblyResolver 解析器,List
1 assemblies) at Microsoft.Extensions.DependencyModel.CompilationLibrary.ResolveReferencePaths() at Microsoft.AspNetCore.Mvc.ApplicationParts.AssemblyPart.<>c.<GetReferencePaths>b__8_0(CompilationLibrary library) at System.Linq.Enumerable.SelectManySingleSelectorIterator2.MoveNext() 在 Microsoft.AspNetCore.Mvc.Razor.Compilation.MetadataReferenceFeatureProvider.PopulateFeature(IEnumerable1 parts, MetadataReferenceFeature feature) at Microsoft.AspNetCore.Mvc.ApplicationParts.ApplicationPartManager.PopulateFeature[TFeature](TFeature feature) at Microsoft.AspNetCore.Mvc.Razor.Internal.DefaultRazorReferenceManager.GetCompilationReferences() at System.Threading.LazyInitializer.EnsureInitializedCore[T](T& target, Boolean& initialized, Object& syncLock, Func1 valueFactory) 在 Microsoft.AspNetCore.Mvc.Razor.Internal.DefaultRazorReferenceManager.get_CompilationReferences() 在 Microsoft.AspNetCore.Mvc.Razor.Internal.LazyMetadataReferenceFeature.get_References() 在 Microsoft.CodeAnalysis.Razor.CompilationTagHelperFeature.GetDescriptors() 在 Microsoft.AspNetCore.Razor.Language.DefaultRazorTagHelperBinderPhase.ExecuteCore(RazorCodeDocument codeDocument) 在 Microsoft.AspNetCore.Razor.Language.RazorEnginePhaseBase.Execute(RazorCodeDocument codeDocument) 在 Microsoft.AspNetCore.Razor.Language.DefaultRazorEngine.Process(RazorCodeDocument 文档) 在 Microsoft.AspNetCore.Razor.Language.RazorTemplateEngine.GenerateCode(RazorCodeDocument codeDocument) 在 Microsoft.AspNetCore.Razor.Language.RazorTemplateEngine.GenerateCode(RazorProjectItem 项目项) 在 Microsoft.AspNetCore.Razor.Language.RazorTemplateEngine.GenerateCode(字符串路径) 在 Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Internal.PrecompileRunCommand.c__DisplayClass23_0.b__0(Int32 i) 在 System.Threading.Tasks.Parallel.c__DisplayClass19_0`1.b__1(RangeWorker& currentWorker, Int32 timeout, Boolean&replicationDelegateYieldedBeforeCompletion)
【问题讨论】:
标签: asp.net-mvc visual-studio asp.net-core