';svn';无法识别为内部或外部命令-Visual Studio输出

';svn';无法识别为内部或外部命令-Visual Studio输出,svn,msbuild,visual-studio-2013,Svn,Msbuild,Visual Studio 2013,我正在跑步: Windows 8 x64 Visual Studio 2013 Slik颠覆 在我的csproj文件中,在构建之前,我需要从SVN存储库中提取以下内容 在输出窗口中,我得到: “svn”不能识别为内部或外部命令、可操作程序或批处理文件。 为什么我可以从命令提示符成功运行此命令,但不能从visual studio成功运行 svn合作--信任服务器证书--非交互式--用户名我的用户名--密码我的密码https://MY_SVN_REPOSITORY $(MSBuildProj

我正在跑步:
Windows 8 x64
Visual Studio 2013
Slik颠覆

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




在输出窗口中,我得到:

“svn”不能识别为内部或外部命令、可操作程序或批处理文件。

为什么我可以从命令提示符成功运行此命令,但不能从visual studio成功运行


svn合作--信任服务器证书--非交互式--用户名我的用户名--密码我的密码https://MY_SVN_REPOSITORY $(MSBuildProjectDirectory)\SUB\u目录

尝试在命令前面加上“cmd/c”,包括svn的完整路径,或确保svn的位置出现在%path%环境变量的某个位置

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

<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>

c:\programfiles\svn\

编辑:编辑以显示您可以配置该文件夹,但是GranadCoder有一个很好的解决方案,可以轻松集成到生成解决方案中。

尝试在命令前面加上“cmd/c”,包括svn的完整路径,或者确保svn的位置出现在%path%环境变量中的某个位置

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

<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>

c:\programfiles\svn\

编辑:编辑以显示您可以配置该文件夹,但是GranadCoder有一个很好的解决方案,可以轻松集成到生成解决方案中。

尝试在命令前面加上“cmd/c”,包括svn的完整路径,或者确保svn的位置出现在%path%环境变量中的某个位置

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

<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>

c:\programfiles\svn\

编辑:编辑以显示您可以配置该文件夹,但是GranadCoder有一个很好的解决方案,可以轻松集成到生成解决方案中。

尝试在命令前面加上“cmd/c”,包括svn的完整路径,或者确保svn的位置出现在%path%环境变量中的某个位置

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

<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>

c:\programfiles\svn\
编辑:编辑显示您可以配置该文件夹,但是GranadCoder有一个很好的解决方案,可以轻松集成到构建解决方案中。

在dos命令窗口中键入“set”

看看“路径”

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

您的msbuild可能无法看到它

但是有更好的办法

获取并安装MSBuild社区任务………并且它们有一个svn任务。 这比编写EXEC命令更容易

许多自定义Msbuild任务正是如此。它们只是简单地包装命令行调用,但为您提供可设置的属性,而不是连接exec命令

一个例子

 <SvnExport RepositoryPath="file:///d:/svn/repo/Test/trunk"
 LocalPath="$(MSBuildProjectDirectory)\Test\Export">
 <Output TaskParameter="Revision" PropertyName="Revision" />
 </SvnExport>

或者,如果msbuild扩展包的容量更大,那么您就可以放心了


我两者都用。通过使用这些非常有用的附加任务,您将多次“物有所值”。也就是说,花点小力气安装它们并使其运行是值得的。

在dos命令窗口中键入“set”

看看“路径”

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

您的msbuild可能无法看到它

但是有更好的办法

获取并安装MSBuild社区任务………并且它们有一个svn任务。 这比编写EXEC命令更容易

许多自定义Msbuild任务正是如此。它们只是简单地包装命令行调用,但为您提供可设置的属性,而不是连接exec命令

一个例子

 <SvnExport RepositoryPath="file:///d:/svn/repo/Test/trunk"
 LocalPath="$(MSBuildProjectDirectory)\Test\Export">
 <Output TaskParameter="Revision" PropertyName="Revision" />
 </SvnExport>

或者,如果msbuild扩展包的容量更大,那么您就可以放心了


我两者都用。通过使用这些非常有用的附加任务,您将多次“物有所值”。也就是说,花点小力气安装它们并使其运行是值得的。

在dos命令窗口中键入“set”

看看“路径”

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

您的msbuild可能无法看到它

但是有更好的办法

获取并安装MSBuild社区任务………并且它们有一个svn任务。 这比编写EXEC命令更容易

许多自定义Msbuild任务正是如此。它们只是简单地包装命令行调用,但为您提供可设置的属性,而不是连接exec命令

一个例子

 <SvnExport RepositoryPath="file:///d:/svn/repo/Test/trunk"
 LocalPath="$(MSBuildProjectDirectory)\Test\Export">
 <Output TaskParameter="Revision" PropertyName="Revision" />
 </SvnExport>

或者,如果msbuild扩展包的容量更大,那么您就可以放心了


我两者都用。通过使用这些非常有用的附加任务,您将多次“物有所值”。也就是说,花点小力气安装它们并使其运行是值得的。

在dos命令窗口中键入“set”

看看“路径”

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

您的msbuild可能无法看到它

但是有更好的办法

获取并安装MSBuild社区任务………并且它们有一个svn任务。 这比编写EXEC命令更容易

许多自定义Msbuild任务正是如此。它们只是简单地包装命令行调用,但为您提供可设置的属性,而不是连接exec命令

一个例子

 <SvnExport RepositoryPath="file:///d:/svn/repo/Test/trunk"
 LocalPath="$(MSBuildProjectDirectory)\Test\Export">
 <Output TaskParameter="Revision" PropertyName="Revision" />
 </SvnExport>

或者,如果msbuild扩展包的容量更大,那么您就可以放心了



我两者都用。通过使用这些非常有用的附加任务,您将多次“物有所值”。Aka,为了让它们启动并运行,花点小力气安装是值得的。

svn的完整路径对我来说很有用,但它是一个团队项目,所以它赢了