问题标签 [shadow-copy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2189 浏览

c# - 影子复制,以及从任意文件夹加载的混合 C# 和 C++ DLL

我有一个 VS 2005 C# 项目,它使用一个特殊的插件文件夹来加载额外的 DLL(用作资产转换过程中的节点)。

我在这个文件夹中混合了 C# 和 C++ DLL。

我遇到的问题是,当启用影子复制时,C++ DLL 拒绝使用 Assembly.LoadFrom 加载。我试图创建一个自定义应用程序域,并使用了 Load,但这也失败了。

最后,我尝试将 DLL 作为 byte[] 数据读取并在其上使用 Load - 再次,只有 C# DLL 会以这种方式工作,并出现错误“附加信息:无法验证的代码未能通过策略检查。(来自 HRESULT 的异常:0x80131402) ”。

网上的一篇文章提示我在构建该特定 DLL 时尝试使用 /clr:safe,但由于 Microsoft 代码中的数千个错误,它根本无法构建......(显然)

禁用影子复制后,LoadFrom 对所有 DLL 都可以正常工作。该应用程序本身是 Maya 的插件,它曾经与 Maya 8.5 一起使用,但在 2008 / 2009 中失败(如果启用了 Shadow Copying)。

我们真的更喜欢使用影子复制,因为它可以在应用程序运行时防止 DLL 文件锁定(插件文件夹存储在 Perforce 可以在应用程序运行时更新的位置)。

关于如何说服 Shadow Copying 使用自定义文件夹和 C#/C++ DLL 的混合而没有这些问题的任何想法?

0 投票
3 回答
7597 浏览

c# - 如果当前副本正在使用中,则打开文件的卷影副本

我正在尝试在服务器上备份文件,但其中一些文件正在使用中,无法打开。相反,如果当前副本正在使用中,我想打开他们的卷影副本。我怎样才能做到这一点?

作为参考,我使用的是 C# .net 3.5。

0 投票
2 回答
3954 浏览

c++ - 卷影复制 (VSS)

任何人都可以澄清一个问题吗?我在自制备份实用程序*中使用 VSS API(使用 VSS2008 的 C++ 和在 XP SP3 上运行的最新 SDK)。

VSS 快照操作适用于没有子文件夹的文件夹 - 即我的电子邮件和 SQL 服务器卷。但是,当我拍摄包含子文件夹的文件夹的快照时,嵌套结构在快照中被“展平”——所有子目录都不存在了。

所以这里有一个问题:我知道在 XP 上对 VSS 的支持有点有限,但是有没有办法指定快照是非递归的?文档不是很有帮助...

  • 我真的厌倦了那些花费大量船费并且每隔几天就会失败的垃圾车,所以我想我会自己动手。它会在某个时候进入 CodeProject。如果有人有兴趣让我知道,当它准备好时,你可以有一个(源)副本......

谢谢++

杰瑞

0 投票
2 回答
8342 浏览

c# - 将 C++ .exe 项目转换为 dll

Microsoft 提供了 vshadow 的源代码来操作 VSS(卷影服务 [shadow copy]),我已经对其进行了一些修改,但我想将它制作成一个 dll,以便我可以在我的 C# 项目中使用它。我不知道该怎么做,源代码相当简单,应该不会太难,但我真的不知道从哪里开始。我应该如何将其转换为可用的 dll 而不是编译为可执行文件?

更新:有人已经这样做了:http ://www.alphaleonis.com/2008/08/alphavss-bringing-windows-shadow-copy-service-vss-to-net/

0 投票
6 回答
7419 浏览

.net - 实施自我更新软件的最佳方法

我们有一个最小的“更新程序”exe,它检查远程 URL 的更新、下载它们并在启动真正的应用程序之前替换磁盘上的文件。但是,如果我们想替换更新程序 EXE,那么 AFAIK 我们有两个选择:

  1. 影子复制程序集,.Net 将创建 EXE(和任何引用的程序集)的影子副本并加载这些程序集,以便可以替换非影子程序集并在下次启动应用程序时使用。

  2. 确定哪些文件被替换并在磁盘上重命名/移动它们。Windows 似乎允许重命名/移动锁定的文件,因此我们可以移动文件并复制到新的程序集中。同样,在下次启动应用程序时,我们将启动新程序集。这里提到了这种方法

这第二种方法是推荐的方法吗?这种方法有什么陷阱吗?

0 投票
1 回答
382 浏览

c# - Can you shadow copy MAF Addins in ASP.NET

Is it possible to configure MAF in an ASP.NET such a way that it loads shadow copies of an addin assembly? I'd like the ability to update an addin without manually restarting the web server.

0 投票
5 回答
246 浏览

windows-vista - 两个编辑器显示不同内容的奇怪的、可能的“卷影复制”问题

我有一些代码正在读取配置文件,但是当我在 TextPad 中打开文件时,我看到的值与我的应用程序不同。我用记事本检查了它。记事本同意我的应用程序,TextPad 显示其他内容。

这是在 Vista x64 商业版上。

知道是什么原因造成的吗?我查看了Context Menu->Properties->Previous Versions详细信息,但它说“没有以前的版本可用”。

这是复制的步骤(我不能让它可靠地发生):

  1. 在程序文件中安装了 .NET 应用程序。
  2. 该应用程序读取配置文件,但正在摔倒。
  3. 我在 Textpad 中手动编辑该配置文件。
  4. 更改不会生效。
  5. 我在记事本中打开配置文件,看到一些不同的东西。
  6. 尝试在记事本中进行更改并保存,并收到以下错误消息:

记事本

无法为 FogBugz\FogBugz > WorkingOn.exe.config 文件创建 C:\Program Files (x86)\Daniel Schaffer\WorkingOn。

确保路径和文件名正确。

我不能把内容放在这里,因为它是 XML 并且由 Superuser.com 编码,但这里有一个截屏链接: http://screencast.com/t/zhERl7mocp4

0 投票
1 回答
188 浏览

windows - 任何人都可以从运行在 Vista 上的 .Net 应用程序处理卷影副本吗?

Joe Lynds站点上的背景信息、库和示例代码非常有用,并且可以很好地与 XP 配合使用。还有其他代码示例可以帮助 XP 卷影复制。

在 Vista / Win7 上运行的 .NET 应用程序中使用卷影复制的建议比较少。Joe Lynds 网站提供了一个包装器,声称可以在 XP、Vista、32 位和 64 位版本上运行,但我们无法让它在 Vista 上运行。

有没有其他人能够破解这个?

我们正在使用.Net 3.5

0 投票
1 回答
435 浏览

c++ - 卷影复制与数据保护管理器

尝试实施类似于此处描述的 VSS 备份解决方案: 卷影复制 (VSS)

有一个名为数据保护管理器的新产品:http: //www.microsoft.com/systemcenter/dataprotectionmanager/en/us/overview.aspx

这与基于 VSS 的解决方案有何不同?

它解决了实现 VSS 编写器的问题吗?

0 投票
1 回答
3231 浏览

unit-testing - 如何在 Visual Studio 2010 测试项目中关闭卷影复制?

使用 NUnit 时,我可以关闭卷影复制,以便从输出目录运行我的测试程序集。我需要这个,因为在这种情况下我的测试不是单元测试,而是集成测试,需要能够访问一些由构建复制到输出目录的程序集。

但是,当我使用 Visual Studio 2010 测试运行程序运行 Visual Studio 测试项目时,我找不到关闭卷影复制的方法。

有人可以让我知道该怎么做吗?