我使用的是Visual Studio,我已经按照前面的答案回答了这个问题,我只需要在我的解决方案资源管理器中添加引用。我已经这样做了,但在我的Unity3d中,它仍然显示类型或命名空间名称“Forms”不存在于命名空间“System.Windows”中(您是否缺少程序集引用?)还有别的办法吗?
xnifntxz1#
Unity会将项目引用添加到它的已知库中,或者那些你手动添加到Plugins文件夹中的库中。但即使这样,已知库通常是存根,手动添加的插件也需要兼容。与标准的VS项目不同,它不会提取你本地机器上的所有库。为了说明这一点,如果你想使用System.Text.Json,你需要手动下载该dll和所有依赖项,并将它们添加到Plugins文件夹中。之后,你就可以访问System.Text.Json命名空间了。因此,在某些情况下,这是可以做到的。您不应该对Unity项目做的是尝试通过Visual Studio将您自己的引用添加到项目中。Unity控制着您的解决方案和项目文件,并且会在需要时覆盖您的引用。这部分解释了为什么您不能通过Visual Studio将System.Windows.Forms添加到您的项目中。现在我们要问的是,您为什么要尝试将其添加到Unity项目中。Unity有自己的GUI系统(在我看来,更好,虽然仍然绿色的鳃周围,作为UI工具包)。您可以驱动本机Windows功能从统一,但这完全是另一个问题,当使用Unity时,在引擎的范围内工作是最简单的。
1条答案
按热度按时间xnifntxz1#
Unity会将项目引用添加到它的已知库中,或者那些你手动添加到Plugins文件夹中的库中。但即使这样,已知库通常是存根,手动添加的插件也需要兼容。与标准的VS项目不同,它不会提取你本地机器上的所有库。
为了说明这一点,如果你想使用System.Text.Json,你需要手动下载该dll和所有依赖项,并将它们添加到Plugins文件夹中。之后,你就可以访问System.Text.Json命名空间了。因此,在某些情况下,这是可以做到的。
您不应该对Unity项目做的是尝试通过Visual Studio将您自己的引用添加到项目中。Unity控制着您的解决方案和项目文件,并且会在需要时覆盖您的引用。
这部分解释了为什么您不能通过Visual Studio将System.Windows.Forms添加到您的项目中。现在我们要问的是,您为什么要尝试将其添加到Unity项目中。Unity有自己的GUI系统(在我看来,更好,虽然仍然绿色的鳃周围,作为UI工具包)。您可以驱动本机Windows功能从统一,但这完全是另一个问题,当使用Unity时,在引擎的范围内工作是最简单的。