我用的是比较古老的VS版本,今天在添加了几个包之后,发现编译时会引发 bc30652 错误,提示 “必须添加对程序集 netstandard 的引用”。

netstandard 本就应该集成在工程文件的引用之内,可能是因为我用的VS版本比较老,所以默认的工程模板并没有自动引用。
但是我自己添加引用时,发现根本搜不到 netstandard 的类库,自己去 nuget 下一个新版本的 netstandard ,引用后又发现版本对不上,引发了更多的错误……

最后搜索半天,终于发现了解决办法,而且还非常搞笑。
我们只需要手动修改工程文档的 vbproj 或者 csproj 文件,在 ItemGroup 节点添加一个 netstandard 的引用即可:
<ItemGroup>
    <Reference Include="netstandard" />
    <!-- 其他引用 -->
</ItemGroup>
修改完成后,让VS重新加载工程,编译——成功运行……
还是那句话——SB微软!!!

VS调试时发生“调用的目标发生了异常”、“error occurred in document statechange handler”错误

因为平常只用旧版本的VS写一点小程序,今天用新版本时发生只要调试代码就会有 “调用的目标发生了异常” 或者 “error occurred in document statechange handler” 的错误弹窗,非常影响心情。
搜索半天,没发现有什么解决方法,我只能自己手动除错。
一开始以为是哪个插件导致的,结果调试半天问题依旧,然而一个很久之前写的工程却能正常运行,没有任何错误弹窗。

经过对两个工程设置的对比,最终发现原来是 工程属性-编译-编译选项-首选32位 这个选项的锅!!!
VS默认创建的工程会点选该选项,导致在我的64位操作系统中发生异常。
可能这个问题并不常见,不过如果你的VS也发生了这个问题,先检查一下有没有关闭这个选项。

还是那句话——SB微软!!!