gpt4 book ai didi

robotics-studio - Microsoft Robotics Studio和绝对路径问题

转载 作者:行者123 更新时间:2023-12-02 23:47:14 28 4
gpt4 key购买 nike

我刚刚安装了 Microsoft Robotics Studio 2008 R2,我必须承认我很震惊地发现路径的处理方式。

第一个工作室想要将自己安装到我的个人资料中(这是在 Vista 上):

C:\Users\MyUserName\Microsoft Robotics Dev Studio 2008 R2

我认为这是因为在开发过程中我必须将文件写入机器人工作室文件夹,使得 C:\Program Files 无法进行。

然后,当我创建一个新的机器人项目时,许多指向机器人工作室的绝对路径被添加到该项目中。如果我将我的项目 checkin 源代码管理,而另一个开发人员将其 checkout 到他的计算机上,则绝对路径将无法解析,并且项目将无法编译。

此外,由于所有服务都收集到机器人工作室文件夹中的单个文件夹中,因此在一台计算机上开发多个独立服务似乎至少会令人困惑。

您有什么好的策略来处理这种困惑吗?

最佳答案

我现在已经找到了一种方法,可以将 Microsoft Robotics DSS Service Visual Studio 项目更改为可以在自己的源代码树中编译和运行的项目,而与机器人工作室的安装路径无关。以下是修改项目所需执行的操作的描述:

  1. 将 robots studio bin 路径添加到 PATH 环境变量中,以便能够在不提供完整路径的情况下执行 dssproxy.exe。我已将 robots studio 安装到程序文件文件夹中,以避免意外将文件写入 robots studio 文件夹。

  2. 打开项目的属性页面,然后选择构建选项卡。在输出部分中,将输出路径更改为Debug\bin。对于 .NET 项目,通常会编译到文件夹 bin\Debugbin\Release 中,但机器人托管服务期望位于文件夹中名为 bin 并将数据存储在 bin 文件夹上方的文件夹中。

  3. 转到签名选项卡,然后在选择强名称 key 文件框中选择一个新 key 。您可以在此时生成自己的 key ,也可以使用 sn.exe 实用程序生成新 key 。或者,如果您有自己的创建 key 的策略,请遵循该策略。 sn.exe 实用程序可以在 robots studio 的 tools 文件夹中找到。

  4. 构建事件选项卡中编辑构建后事件命令行:

    dssproxy.exe/dll:"$(TargetPath)"/proxyprojectpath:"$(ProjectDir)Proxy"/keyfile:"$(SolutionDir)Key.snk"$(ProxyDelaySign) $(CompactFrameworkProxyGen)/binpath :“。” @(ReferencePath->'/referencepath:"%(RootDir)%(目录)"', ' ')

    注意/keyfile的参数。输入一个表达式,用于定位在上一步中创建的强名称 key 文件。

  5. 复制文件 DssHost.exeDssHost.exe.config(或 DssHost32.exeDssHost32.exe.config(适用于 32 位托管服务))从 robots studio bin 文件夹复制到项目文件夹中,并将这些文件添加到项目中。将构建操作设置为内容,将复制到输出目录设置为如果较新则复制。对您的服务的 list 文件执行相同的操作。实际上, list 文件不必与服务位于同一文件夹中,但将其复制到输出文件夹可以让您执行 XCOPY 部署。

  6. 调试选项卡中,将启动外部程序更改为DssHost.exe项目的输出文件夹。您必须构建项目一次才能将文件复制到输出文件夹。清除工作目录。将命令行参数设置为

    /p:50000/t:50001/m:DSSService1.manifest.xml

    将 list 文件名更改为项目中的正确名称。您可以修改此处或 DssHost.exe.config 文件中使用的端口号。如果您在 protected Windows 环境 (UAC) 中运行,则必须使用 httpreserve 命令来授予自己对特定端口的访问权限。您必须以管理员身份运行此命令。

    调试设置不会存储在项目文件中,每个开发人员都必须创建个人设置。

您还应该相应地更新发布配置。

关于robotics-studio - Microsoft Robotics Studio和绝对路径问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1399584/

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