aspx 中的 gridview 在命名空间“System.Drawing”中引发“Color”不明确

gridview in aspx throws 'Color' is ambiguous in the namespace 'System.Drawing'

提问人:dwneder 提问时间:12/24/2022 更新时间:1/15/2023 访问量:51

问:

我有一个多年来一直运行良好的项目。就在本周,它开始在标题中抛出错误。

它编译得很好,但在输入带有网格视图的任何表单时会抛出它(以 global.asax.Application_Error 捕获)。下面是一个示例:

<div class="div70pctColumnLeft">
<asp:GridView ID="gvInd" runat="server" DataSourceID="dsInd" DataKeyNames="id" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" 
BackColor="#CCCCFF" BorderColor="Blue" BorderWidth="2px" ShowFooter="True" Width="100%">
<Columns>
...

网格中的任何位置都没有其他对颜色的引用,我已经检查了对“颜色”的每个引用,并且仅在 System.Drawing 中具有它。

(单个)项目是 .net 4.8。

我尝试恢复(从备份中)表单、整个解决方案(包括包)、通过 nuget 更新所有包、修复 Visual Studio 等。 - 值得 4 天没有进展。

提前感谢您提供的任何帮助。

asp.net gridview 命名空间 不明确

评论

0赞 Albert D. Kallal 12/24/2022
您是否添加了一个名为“Color.aspx”的类甚至网页?这表明添加了某种具有冲突名称的类。因此,例如,如果添加一个名为 GridView.aspx 或 color.aspx 的新页面,则页面类将获得相同的名称 - 并且您会发生冲突。因此,请检查是否添加了任何名称冲突的页面或类。(这意味着人们不想创建一个名称与 asp.net 控件名称冲突的网页,添加具有此类名称的类也是如此(避免使用我在此上下文中称为保留字的内容)。
0赞 dwneder 12/24/2022
谢谢你的回复,阿尔伯特。不,没有添加任何新内容。当然,我已经更新了 VS、Windows 和软件包 (Nuget),但没有别的。我什至尝试在对象浏览器中查找冲突的类 - 什么都没有。还有其他想法吗?
0赞 Albert D. Kallal 12/24/2022
好的,任何使用颜色的页面代码?尝试添加一个 using System.Drawing.Color;(如果为 vb,则为 imports)。
0赞 dwneder 12/24/2022
再次感谢阿尔伯特(你是一名士兵!是的,我有几个。

答:

0赞 dwneder 1/15/2023 #1

我想更新这些问题的进展,以防对其他人有价值。

最终,我发现该问题的唯一解决方案是通过以下方式完全重建整个解决方案:

  1. 创建了一个新的空项目
  2. 将所有表单/项目/文件夹/等从原始项目复制到新项目,并执行添加 |现存
  3. 通过 NuGet 重新加载所有包并更新它们,然后
  4. 疯狂调试(我仍在调试中)

到目前为止,似乎有一个或多个库已损坏。如果没有校验和(或等效)工具来验证它们,就不可能追踪到它们。另请注意,我确实重新安装了 Visual Studio,使用了 sfc 等,作为此旅程的一部分,但这些都没有帮助。

最后,解决方案是使用新的、全新的解决方案和项目进行完全重建。

我希望这对其他人有所帮助。