【问题标题】:Visual Studio 17 c# everything is a syntax errorVisual Studio 17 c#一切都是语法错误
【发布时间】:2018-12-29 01:27:52
【问题描述】:

我正在寻找一些图表包。并找到了这个 Bridge.net 的东西。我认为它只会将我想要的内容翻译成 Javascript,但它改变了一些很大的东西。

从表单到设计师,一切都变红了。有人知道我需要做什么吗?

谢谢。

【问题讨论】:

  • 有时 VS 中的 obj 文件与项目预期存在的内容不同步。右键单击您的解决方案并清理,然后重新启动 Visual Studio。当我遇到这个问题时,这可以解决它
  • 谢谢。我只是查看了构建文件夹,一切都消失了(bin 文件夹)。我不知道这怎么可能。对此有什么建议吗?
  • 我这里没有答案,我只是来找lul的。我见过 VS 做了一些疯狂的事情,但这是一个新的。实际上是在黑暗中拍摄,但无论该工具是否在某处留下了开放式支架?它可能只是一个语法错误级联,直到整个事情变得乱七八糟。我也可以引用你的标题,我喜欢这篇文章。
  • 刚刚更改了构建名称,事情开始变得正常。但还是有红色,没有设计师。我相信这是因为我和一些 Nugets 一起玩过 :D

标签: c# visual-studio syntax nuget bridge.net


【解决方案1】:

Bridge 在您的项目中包含一个 .targets 文件,除其他内容外,该文件指示项目不要导入基本的 .NET StdLib 本身。也就是说,System.* 来自 Bridge 本身。这样特定项目中的所有代码都将输出到 Bridge。

所以是的,如果您只需要将项目的一部分转换为 JavaScript,那么您实际上需要将项目拆分开来,只包括您在 javascript 中需要的内容,在 javascript 中。并提防参考;它不会将引用的代码转换为 JavaScript,除非引用的项目/库/nuget 包是可识别 Bridge.NET 的代码。

如果您将 Bridge 项目中的文件链接到完整项目,它可能会正常工作,以保持公共文件同步。

如果您只是从项目中卸载 Bridge NuGet 包,您的项目将再次看到 StdLib 的 System.* 命名空间,这样它就不会再导入将所有内容都指向 Bridge 的 .targets 文件。

但是为什么它没有切换到 Bridge 的 System.* 命名空间仍然很奇怪;可能的原因是将项目设置为 NETStandard 或 NetCore 类型,这些类型目前不适用于 Bridge,也无法正确导入 .targets 文件。其他原因包括繁忙/打开的文件,只需重启 VS 即可解决。

【讨论】:

    【解决方案2】:

    一切正常。 删除了所有引用并一一加载。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-13
      • 2016-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-30
      • 2015-10-28
      • 2021-02-27
      相关资源
      最近更新 更多