移动到另一个项目时无法识别类型化数据集

Posted

技术标签:

【中文标题】移动到另一个项目时无法识别类型化数据集【英文标题】:Typed dataset not recognized when moved to another project 【发布时间】:2010-09-29 00:32:10 【问题描述】:

我将一个类型化的数据集从一个项目移动到一个 ASP Web 应用程序项目。我将键入的数据集放入现有目录之一,就像它在上一个站点的 App_Code 目录中一样,但在此项目中看不到创建该 asp.net 文件夹的选项。

现在,当我尝试实例化类型化数据集时,编译器提示“找不到类型或命名空间名称”(您是否缺少 using 指令或程序集引用?)。

想法?

【问题讨论】:

【参考方案1】:

您可能需要重新生成数据集。当您移动 .xsd 时,您只移动了 DataSet 的 xml 布局。

删除任何生成的代码文件,打开 xsd,移动一些东西,然后保存。保存操作调用生成器。也可以在.xsd文件上右击直接调用生成器。

【讨论】:

只是为了澄清 - 这确实有效。您可以在解决方案资源管理器中展开 XSD,然后简单地删除 Designer.vb 文件。然后打开您的数据集(XSD 文件)并稍微拖动数据集。然后保存。我在 Designer 文件中看不到它的实际变化。【参考方案2】:

我将我的网站移至 Web 应用程序项目并遇到了同样的问题。我采用了第一个答案中提到的方法,最终能够编译项目。 我想在第一个答案中添加更多细节。

明确地说:我首先删除了与 xsd 文件相关的所有文件,除了 xsd 文件本身(xss、xsc、cs、...)。然后我右键单击 xsd 文件,选择“查看设计器”,然后选择“查看代码”,然后选择“运行自定义工具”。重新生成所有文件并编译参考。

【讨论】:

【参考方案3】:

确保编译器知道它是一个数据集,而不仅仅是一个 Xml 文件。在解决方案资源管理器中选择 DataSet.xsd,然后在项目窗口中确保将“自定义工具”设置为 MSDataSetGenerator。

之后,不要猜测,而是在 Reflector 中打开 dll 文件并查找您的 DataSet 类。确保它在您认为的名称空间中。

【讨论】:

我有一个空白的 CustomTool 设置,所以没有生成代码。这解决了它,干杯【参考方案4】:

在 Visual Studio 2015 中,我所做的是

    在我右键单击添加的数据集以包含在项目中之前,我删除了 .xss 和 .xsc 文件并保留了其余文件。

    然后我右键单击 .xsd 文件并将其包含在项目中并解决问题。

希望我解决了某人的问题。

【讨论】:

【参考方案5】:

您是否在新代码中包含了“使用命名空间”语句?

【讨论】:

是的。当我这样做时,编译器会说“找不到类型或命名空间名称 ”。我从另一个命名空间引用了新导入的类文件就好了。类型化的数据集是迄今为止唯一的文件,它是命名空间。 确认从 .xsd 生成的 .cs 文件中是否有命名空间(右键单击 .xsd >“查看代码”)。您可以在 XSD 文件属性中指定一个“自定义工具命名空间” - 检查分配它是否有帮助。

以上是关于移动到另一个项目时无法识别类型化数据集的主要内容,如果未能解决你的问题,请参考以下文章

ggplot2无法识别闪亮的反应数据

将按钮超级视图控制器添加到另一个视图控制器时,UIButton 目标无法识别

使用 UNION 时无法识别 json[] 类型的相等运算符

DataGrip 无法识别 PostgreSQL 数据类型

名称空间无法识别(即使它存在)[重复]

移动硬盘在苹果电脑上无法识别