是否有可能以foreach相反的顺序遍历Collections对象的语句?
如果不是foreach声明,还有另一种方式吗?
我下载了他们提供的SharpSVN示例以尝试测试它,但是当我尝试运行它时出现此错误.
System.BadImageFormatException {"无法加载文件或程序集'SharpSvn,Version = 1.4999.376.29668,Culture = neutral,PublicKeyToken = d729672594885a28'或其依赖项之一.尝试加载格式不正确的程序."}
我下载后,我去加载项目,没有错误做了请求的转换然后只是尝试运行它.无法在线找到解决方案.
在64位W7上运行,我注意到所有的.dll和其他文件都是_32,不确定是不是问题.
在尝试将SharpSVN添加到我的C#项目时,使用SharpSVN相关调用进行编译会给出以下错误:
FileLoadException是未处理的混合模式程序集是针对运行时的版本"v2.0.50727"构建的,如果没有其他配置信息,则无法在4.0运行时中加载.
我所做的是从下载的SharpSVN zip文件添加引用并添加
using SharpSvn;
Run Code Online (Sandbox Code Playgroud)
当我编译它工作正常,但当我添加:
string targetPath = "https://bobl/svn/ConsoleApplication1";
SvnTarget target;
SvnTarget.TryParse(targetPath, out target);
Run Code Online (Sandbox Code Playgroud)
它打破了这个错误.我已经搜索了这个错误并且没有找到解决方案的运气.
我正在使用Export()成员函数来获取正在运行的特定修订版本的文件,但出于某种原因,在某些情况下它不是.对于所有修改过的路径,它似乎正在工作但是在该修订版中删除了有时添加的文件,我得到了一个例外,说明在使用的URL上没有文件.当我在这些路径上使用TurtoiseSVNs"Copy Revision to ..."时,它工作正常,我只是想知道我是否遗漏了SharpSVN的东西,我希望修改所有修改过的文件的完整版本.以下是我的代码的一般概念:
if (logentry.ChangedPaths != null)
{
foreach (SvnChangeItem svnChangeItem in logentry.ChangedPaths)
{
SvnExportArgs ex = new SvnExportArgs();
ex.Revision = revisionNum;
client.Export(SvnTarget.FromUri(new Uri(pathInsideRepo)), exportFile, ex);
}
}
Run Code Online (Sandbox Code Playgroud)
任何帮助或建议将不胜感激,谢谢.
所以我使用StreamReader使用MemoryStream写入StreamWriter并在此应用程序内部,但内存使用量增加300mb(来自其中一个较大的输入)并且在完成使用后不会释放:
StreamWriter log = new StreamWriter("tempFile.txt");
log.Write(reader.ReadToEnd());
log.Close();
reader.DiscardBufferedData();
reader.Close();
reader.Dispose();
memoryStream.Dispose();
log.Dispose();
GC.Collect();
Run Code Online (Sandbox Code Playgroud)
在此之前和我获得RAM使用之后,它比之前少300 MB,但我不知道为什么.考虑到这里唯一发生的事情就是将读取器中的数据放在文本文件中我不知道为什么甚至需要使用大量内存,我已经做了我能想到的一切来释放内存暂时.有什么我想念的吗?...谢谢.
所以我知道如何导出文件@文件系统的某些修订(因为导出的所有重载都有路径)但我不想使用文件系统来方便访问.有没有办法将其重定向到字符串或什么?谢谢.
c# ×6
sharpsvn ×4
export ×2
.net ×1
collections ×1
memorystream ×1
redirect ×1
reverse ×1
streamreader ×1
streamwriter ×1
traversal ×1