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

首先,工作室希望将自己安装到我的个人资料中(这是在Vista上):

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

我认为这是因为在开发过程中,我必须将文件写给机器人工作室文件夹制作 C:\Program Files 不去。

然后,当我创建一个新的机器人项目时,该项目添加了许多指向机器人工作室的绝对路径。如果我将项目检查到源控制中,而另一个开发人员将其检查到他的机器上,则绝对路径将无法解决,并且该项目将无法编译。

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

您是否有处理此混乱的好策略?

有帮助吗?

解决方案

现在,我已经找到了一种将Microsoft Robotics DSS服务Visual Studio项目更改为可以编译并在自己的源树中运行的方法,而与Robotics Studio的安装路径无关。以下是您需要做什么来修改项目的描述:

  1. 向您添加机器人工作室垃圾箱路径 小路 环境变量能够执行 dssproxy.exe 不提供完整的道路。我已经将机器人工作室安装到程序文件文件夹中,以避免意外地将文件写入机器人工作室文件夹。

  2. 打开 特性 项目的页面,然后选择 建造 标签。在里面 输出 部分更改 输出路径Debug\bin. 。对于.NET项目,习惯将编译到文件夹中是 bin\Debugbin\Release 但是机器人托管服务 期望 居住在名为的文件夹中 bin 并将数据存储在上方的文件夹中 bin 文件夹。

  3. 签名 选项卡并选择一个新键 选择一个强名称密钥文件 盒子。您可以在此时生成自己的密钥,也可以使用 sn.exe 生成新密钥的实用程序。或者,如果您有自己的创建钥匙的政策,则遵循这一点。这 sn.exe 可以在 tools 机器人工作室的文件夹。

  4. 在里面 建立事件 选项卡编辑 后构建事件命令行:

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

    注意论点 /keyfile. 。输入一个表达式,该表达式位于上一步中创建的强名称密钥文件。

  5. 复制文件 DssHost.exeDssHost.exe.config (或者 DssHost32.exeDssHost32.exe.config 对于32位托管服务),从机器人Studio Bin文件夹到项目文件夹,并将这些文件添加到项目中。设置 建立动作内容复制到输出目录如果更新,请复制. 。做同样的事情 清单文件 为您的服务。实际上,清单文件不必与服务在同一文件夹中,但是将其复制到输出文件夹使您可以进行Xcopy部署。

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

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

    将清单文件名更改为项目中的专有名称。您可以修改此处或在此处使用的端口号 DssHost.exe.config 文件。如果您在受保护的Windows环境(UAC)中运行,则必须使用 httpreserve 命令让自己访问特定端口。您必须作为管理员运行此命令。

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

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

其他提示

由于我只对MS Robotics的CCR感兴趣,因此我只添加这些程序集作为对我使用的任何项目的参考,并可以使用它。

这无问题。因此,如果您也只对工作室的CCR和DSS部分感兴趣,那么这可能是您的解决方案

雷尼尔

我们经常看到这个问题。绝对简单的解决方案是在安装Robotics Studio为“ C: Program Files Microsoft Robotics Studio”时指定安装目录。这样,在机器之间移动代码,签出源控制等将变得越来越小。

另一个选择是使用RDS随附的DSSProject迁移。只需针对您的项目目录运行DSProject迁移,它将纠正所有硬编码路径。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top