C# C语言中的SVN框架#

C# C语言中的SVN框架#,c#,svn,C#,Svn,我目前正在开发一款基于终端的小游戏,比如用C#编写的《老泥巴》。 因为我在Googlecode上托管它,所以如果项目存在,我使用外部.sh脚本执行svn up,如果项目不存在,则执行svn checkout。 我的目标是将SVN直接包含到可执行文件中,使其完全独立于平台(参见mono)。 我已经在谷歌上搜索过像“C#SVN”这样的通用词,它总是让我联想到“SharpSVN”。可惜里面没有源代码,只有一些.dll 现在我想做什么(并询问是否可能): 启动应用程序 检查是否有更新的版本可用 执行s

我目前正在开发一款基于终端的小游戏,比如用C#编写的《老泥巴》。 因为我在Googlecode上托管它,所以如果项目存在,我使用外部.sh脚本执行
svn up
,如果项目不存在,则执行
svn checkout
。 我的目标是将SVN直接包含到可执行文件中,使其完全独立于平台(参见mono)。 我已经在谷歌上搜索过像“C#SVN”这样的通用词,它总是让我联想到“SharpSVN”。可惜里面没有源代码,只有一些.dll

现在我想做什么(并询问是否可能):

  • 启动应用程序
  • 检查是否有更新的版本可用
  • 执行
    svn up
  • 编撰
  • 如果版本号不等于上次的版本号,则启动新的可执行文件(即生成了更新的版本)
我非常怀疑退出后是否有可能启动该应用程序,但你肯定比我知道得多;)

编辑://
以下是我在当前运行/am之前运行的.sh脚本:

#!/bin/bash
if [ $# -eq 0 ]; then
if [ ! -d "$HOME/csdungeon" ]; then
    echo "Which version would you like to download? (G)erman / (E)nglish"
    read getinput
    case "$getinput" in
    G|g) svn checkout http://c-sharp-dungeon.googlecode.com/svn/branches/translations/german/ $HOME/csdungeon
    ;;
    E|e) svn checkout http://c-sharp-dungeon.googlecode.com/svn/trunk $HOME/csdungeon
    ;;
    *) echo "No correct localisazion selected."
    echo "Downloading english version now:"
    svn checkout http://c-sharp-dungeon.googlecode.com/svn/trunk $HOME/csdungeon
    ;;
    esac
else
    cd $HOME/csdungeon
    svn up
    rm $HOME/csdungeon/c-sharp-dungeon.exe
fi
gmcs -out:$HOME/csdungeon/c-sharp-dungeon.exe $HOME/csdungeon/*.cs
mono $HOME/csdungeon/c-sharp-dungeon.exe
fi

if [ $# -ge 1 ]; then
    if [ ! -d "$HOME/csdungeon" ]; then
        echo "Which version would you like to download? (G)erman / (E)nglish"
        read getinput
        case "$getinput" in
        G|g) svn checkout https://c-sharp-dungeon.googlecode.com/svn/branches/translations/german/ $HOME/csdungeon --username $1
        ;;
        E|e) svn checkout https://c-sharp-dungeon.googlecode.com/svn/trunk $HOME/csdungeon --username $1
        ;;
        *) echo "No correct localisazion selected."
        echo "Downloading english version now:"
        svn checkout https://c-sharp-dungeon.googlecode.com/svn/trunk $HOME/csdungeon --username $1
        ;;
        esac
    else
        cd $HOME/csdungeon
        svn up
        rm $HOME/csdungeon/c-sharp-dungeon.exe
    fi
    gmcs -out:$HOME/csdungeon/c-sharp-dungeon.exe $HOME/csdungeon/*.cs
    mono $HOME/csdungeon/c-sharp-dungeon.exe
fi

SharpSVN是完全开源的,这里还是你来看看一些例子


但AFAIK SharpSVN不是跨平台库(可能情况已经改变了)。因此,您可以浏览SharpSVN的源代码,检查它是否适合您的需要,或者尝试直接依靠您自己。

如果没有帮助程序,您的一步一步都无法完成。我建议执行检查,然后生成助手应用程序,关闭此应用程序。然后,助手应用程序进行下载/编译/重新加载。我想UAC会很高兴的。确保你从一开始就考虑这个问题。

< P>这是一个被发明的工作。不过,我不知道它在mono上是否有效。

然后我就找不到了。抱歉,我会看看它是否能达到预期的效果。这是通过一个外部脚本完成的。我会将它添加到我的问题中。不好意思,我的应用程序不应该对所有类型的操作系统都开放,即使是任天堂Wii(是的,我将要为Wii移植mono 2.8)@David Stocker-并且svn已经移植到任天堂Wii了吗?也许改用wget更简单,而不是svn?事实上,它不是wget已经在运行了,但是mono仍然有点阻塞,我会继续尝试