首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >‘an’不能识别为内部或外部命令- Visual输出

‘an’不能识别为内部或外部命令- Visual输出
EN

Stack Overflow用户
提问于 2013-12-16 22:15:17
回答 2查看 9K关注 0票数 0

我在跑步:

Windows 8 x64

2013

Slik颠覆

在我的csproj文件中,在构建之前,我需要从SVN存储库中提取以下内容

<Target Name="BeforeBuild">

代码语言:javascript
复制
 `<Exec ContinueOnError="true" Command="svn co --trust-server-cert --non-interactive --username MY_USERNAME --password MY_PASSWORD https://MY_SVN_REPOSITORY $(MSBuildProjectDirectory)\SUB_DIRECTORY" />`

</Target>

在输出窗口中,我得到:

'svn' is not recognized as an internal or external command, operable program or batch file.

为什么我可以在命令提示符下成功地运行此命令,而不能在visual中运行?

svn co --trust-server-cert --non-interactive --username MY_USERNAME --password MY_PASSWORD https://MY_SVN_REPOSITORY $(MSBuildProjectDirectory)\SUB_DIRECTORY

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-17 00:26:09

尝试用"cmd /c“作为命令的前缀,包括svn的完整路径,或者确保svn的位置出现在% path %环境变量中。

如果这是一个公共位置,那么将其硬编码到在exec任务中引用的属性中:

代码语言:javascript
复制
<Target Name="BeforeBuild">
<PropertyGroup>
    <SvnDir>c:\programfiles\svn\</SvnDir>
</PropertyGroup>
<Exec ContinueOnError="true" Command="$(SvnDir)svn co --trust-server-cert --non-interactive --username MY_USERNAME --password MY_PASSWORD https://MY_SVN_REPOSITORY $(MSBuildProjectDirectory)\SUB_DIRECTORY" />
</Target>

编辑:编辑:显示您可以配置该文件夹,但是granadacoder有一个很好的解决方案,可以很容易地集成到构建解决方案中。

票数 2
EN

Stack Overflow用户

发布于 2013-12-17 14:29:32

在dos命令窗口中键入"set“。

看看“小径”。

您可能会看到"svn.exe“所在的文件夹。

你的味精可能看不见。

但还有更好的办法。

获取并安装MSBuild社区Tasks.........and,它们有一个svn任务。它比编写EXEC命令更容易。

很多定制的Msbuild任务就是这样的。它们简单地包装命令行调用,但给您可设置的属性,而不是连接exec命令。

https://github.com/loresoft/msbuildtasks/tree/master/Source/MSBuild.Community.Tasks/Subversion

一个例子

代码语言:javascript
复制
 <SvnExport RepositoryPath="file:///d:/svn/repo/Test/trunk"
 LocalPath="$(MSBuildProjectDirectory)\Test\Export">
 <Output TaskParameter="Revision" PropertyName="Revision" />
 </SvnExport>

或者,如果msbuild扩展包更多的话,那么您就是一杯茶。

http://www.msbuildextensionpack.com/help/4.0.5.0/html/bccddf04-f5ee-21d4-0f64-bb1b42b08257.htm

代码语言:javascript
复制
    <!-- Export -->
    <MSBuild.ExtensionPack.Subversion.Svn TaskAction="Export" Item="c:\path\workingcopy" Destination="c:\path\exported"/>

我两种都用。你会“得到你的钱的价值”多次使用这些非常有用的附加任务。这是值得的小安装努力,让他们启动和运行。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20622040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档