gpt4 book ai didi

c# - Visual Studio 2015 无法识别 svg、rect、g、circle 等

转载 作者:太空狗 更新时间:2023-10-29 21:53:21 25 4
gpt4 key购买 nike

我可以在屏幕上看到一个矩形和文本,所以标记似乎是正确的,但在编辑器中,有一条蓝色波浪线和标记未被识别的消息。似乎所有与 SVG 相关的元素都是如此。

<svg width="400" height="400">
<g transform="translate(0,0)">
<rect width="5" height="5"></rect>
<circle cx="40" cy="19" r="25"></circle>
<text x="37" y="9.5" dy=".35em">my text</text>
</g>
</svg>

有办法解决吗?我注意到我也没有这些元素的智能感知。我需要为此添加一个包吗?这是它在我的 VS15 中的样子。

enter image description here

最佳答案

不太喜欢回答我自己的问题,但 react 不那么强烈,我终于想出了一些东西(在很大程度上基于@HansPassant 提供的评论)。

lazy 有效编码器的简短版本。问题是 SVG 标签在扩展名为 HTML 的文件中未被识别为有效元素。坦率地说,我找到了三种处理它的方法,但没有一种是真正令人满意的。

  1. 按照惯例使用 HTML 扩展,并使用 JavaScript 呈现大部分(如果不是全部)图形。因为这样做很常见,所以这是我将使用的方法,直到出现更好的选择。缺点是标记中的 SVG 特定标签没有智能感知支持。

  2. 使用扩展 XHTML。这解决了问题,但该页面根本不呈现为网页。浏览器将其识别为 XML 并照此呈现。

  3. 使用外部文件(例如扩展名 SVG)并将其嵌入到实际网页中。这种方法的缺点是我们需要向页面群中添加另一个文件(我们已经有了 CSS、LESS、JS、部分作为 CSHTML 等)。此外,从 JavaScript 操作图形可能不方便。

使用 this resource ,我发现了一堆要添加的模式。这并不能解决问题,也不是必需的(但可能是一件值得知道的事情)。

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!-- <meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> -->
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">

在那篇文章的下方,有一张表格介绍了在网页上使用 SVG 图形的不同方式。

还有一个 different approach基于将架构文件添加到 Visual Studio。这似乎有点老套,而且绝对不是我每次使用新环境时都想做的事情。除此之外,屏幕截图的颜色表明它有点旧,所以我变得谨慎(也 - 有点懒惰)。

关于c# - Visual Studio 2015 无法识别 svg、rect、g、circle 等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34997313/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com