我刚刚安装了Microsoft Robotics Studio2008 R2,我必须承认,我很震惊地发现路径是如何被处理的。
首先,工作室希望将自己安装到我的个人资料中(这是在Vista上):
C:\Users\MyUserName\Microsoft Robotics Dev Studio 2008 R2我猜想这是因为在开发过程中,我必须将文件写入robotics studio文件夹,这使得C:\Program Files无法运行。
然后,当我创建一个新的机器人项目时,很多指向机器人工作室的绝对路径被添加到项目中。如果我将项目签入到源代码管理中,而另一名开发人员将其签出到他的机器上,则绝对路径将无法解析,项目也将无法编译。
此外,由于所有服务都被收集到robotics studio文件夹中的单个文件夹中,因此在一台计算机上开发多个独立的服务看起来至少是令人困惑的。
你有什么好的策略来处理这个烂摊子吗?
发布于 2009-09-09 19:45:43
我现在已经想出了一种方法,可以将Microsoft Robotics DSS Service visual studio项目更改为您可以在自己的源码树中编译和运行的东西,独立于robotics studio的安装路径。以下是修改项目所需操作的说明:
dssproxy.exe。我已将robotics studio安装到程序文件文件夹中,以避免意外将文件写入robotics studio文件夹。Debug\bin.对于.NET项目,习惯上是编译到文件夹bin\Debug和bin\Release中,但机器人托管服务希望位于名为bin的文件夹中,并将数据存储在bin文件夹上方的文件夹中。sn.exe实用程序生成新密钥。或者,如果您有自己的创建密钥的策略,请遵循该策略。sn.exe实用程序可以在robotics studio的tools文件夹中找到。dssproxy.exe /dll:"$(TargetPath)" /proxyprojectpath:"$(ProjectDir)Proxy" /keyfile:"$(SolutionDir)Key.snk" $(ProxyDelaySign) $(CompactFrameworkProxyGen) /binpath:"." @(ReferencePath->'/referencepath:"%(RootDir)%(Directory) "', ' ')请注意/keyfile.的参数输入用于查找上一步中创建的强名称密钥文件的表达式。robotics
DssHost.exe和DssHost.exe.config (对于32位托管服务,则为DssHost32.exe和DssHost32.exe.config )从robotics studio bin文件夹复制到项目文件夹中,并将这些文件添加到项目中。将目录构建操作设置为Content,将Copy设置为Output to Copy if newer。对您的服务的清单文件执行相同的操作。实际上,清单文件不必与服务位于相同的文件夹中,但是将其复制到输出文件夹使您能够执行XCOPY deployment.
DssHost.exe 选项卡中的Start external 更改为XCOPY。您必须生成项目一次,才能将文件复制到输出文件夹。清除工作目录。将命令行参数设置为/p:50000 /t:50001 /m:DSSService1.manifest.xml
在项目中将清单文件名更改为正确的名称。您可以在此处或DssHost.exe.config文件中修改使用的端口号。如果您在受保护的Windows环境中运行,则必须使用httpreserve命令来授予自己对特定端口的访问权限。您必须以管理员身份运行此命令。
调试设置不会存储在项目文件中,每个开发人员都必须创建个人设置。
您还应相应地更新Release配置。
发布于 2009-09-09 13:29:32
因为我只对MS Robotics的CCR感兴趣,所以我只是添加这些程序集作为对我使用它的任何项目的引用。
这项工作没有任何问题。因此,如果您也只对演播室的CCR和DSS部分感兴趣,那么这可能是您的解决方案
Reinier
发布于 2009-10-08 19:10:24
我们经常看到这个问题。绝对最简单的解决方案是在安装robotics studio时将安装目录指定为"C:\program files\microsoft robotics studio“。这样一来,在机器之间移动代码,签出源代码控制等问题就少了很多。
另一个选项是使用dssprojectmigration,它包含在RDS中。只需对您的项目目录运行dssprojectmigration,它将更正所有硬编码的路径。
https://stackoverflow.com/questions/1399584
复制相似问题