我刚刚将ASP.NET Core 2.2项目升级到ASP.NET Core 3.0,而我的OData终结点只是拒绝工作。在启动过程中,出现以下错误:
System.TypeLoadException:'无法从程序集'Microsoft.AspNetCore.Mvc.Core,版本= 3.0.0.0,文化=中性,PublicKeyToken = adb9793829ddae60'中加载类型'Microsoft.AspNetCore.Mvc.Internal.ActionConstraintCache'。
如何解决此类型解析问题?
我可以使用Sdk =“ Microsoft.Net.Sdk”成功构建具有新csproj格式的WPF应用程序。
但是,发布该应用程序有点挑战。IDE绝对不提供该选项。但是令我有些困惑的是,当您直接调用msbuild时,发布目标似乎不可用。
这些是我设置的一些顶级属性:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net461</TargetFramework>
<LanguageTargets>$(MSBuildExtensionsPath)\$(VisualStudioVersion)\Bin\Microsoft.CSharp.targets</LanguageTargets>
<OutputType>WinExe</OutputType>
<PlatformTarget>x86</PlatformTarget>
<Prefer32Bit>false</Prefer32Bit>
<!--<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>-->
</PropertyGroup></Project>
Run Code Online (Sandbox Code Playgroud)
我还设置了与ClickOnce相关的典型对象,例如PublishUrl等。如何以上述LanguageTarget为控制台,Web和Plain之外的其他其他C#构建任务启用“ CoreBuild”的方式来获取/公开发布目标库。
进一步的想法:
因此,事实证明,在进一步检查中,实际上存在一个发布目标。但是,它可以将文件夹/ xcopy简单部署到名为Publish的子文件夹中,而不是创建app.publish文件夹并执行ClickOnce事情。
如何解决这个问题?
我F12对我试图从中派生的类做了一个Go To Definition(),我注意到其中一个方法被标记了AsyncStateMachineAttribute.而这又继承了StateMachineAttribute.我很好奇并决定在MSDN上阅读这个属性及其所有衍生物.这导致我这样 ,我发现了这个声明:
你不能
IteratorStateMachineAttribute用来测试一个方法是否是C#中的迭代器方法.
由于该陈述是突出的,因此必须对其产生严重影响,但没有进一步解释为何如此.有没有人有这方面的见解?