问题标签 [sharing-violation]

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 投票
1 回答
206 浏览

c# - FileStream ctor 在 SSIS 脚本任务中引发共享冲突,在调试模式下工作

我有一个集成服务包(VS 2012),它从 Excel 工作簿加载值并将它们存储在 SQL Server 中。我正在使用第 3 方库在 C# 脚本任务中提取工作簿数据,但在此之前,在任务中,我创建了一个 Filestream:

FileStream 构造崩溃并出现错误“进程无法访问文件......因为它正被另一个进程使用。” 我知道这是发生崩溃的地方,因为我看到了“步骤 1”消息框,但没有看到“步骤 2”。

令人沮丧的是,如果我在脚本任务中设置断点,在导致错误的行之前开始单步执行代码,我可以继续并访问工作簿文件而不会出错。起初我认为这可能是由于竞态条件造成的,但后来我添加了上面显示的消息框,它也会在创建文件流之前暂停执行。MessageBox 导致的暂停并不能防止在非调试模式下运行时出现错误。

我已经尝试使用System.IO.File.Open和 FileStream 构造函数,两者都带有FileShare.ReadWrite,按照这个 SO thread,那么为什么我会收到共享错误?为什么调试时不会发生?

0 投票
2 回答
1693 浏览

c# - 没有打开流时共享路径上的冲突

我正在用 C# 开发一个游戏,其中每个“地区”都会定期将有关它的数据存储在保存文件中。为了测试,“SaveAll”方法在关卡开始时被调用一次。

文件操作的代码如下:

抛出的异常(多次)读取:

此异常在 SaveAll 方法中进程的第 28 行和第 29 行引发。但是,SaveAll 方法不使用流,所以我看不到如何保持打开状态。事实上,在关卡的这个点上,阅读流根本没有打开。

我错过了什么明显的东西吗?

0 投票
1 回答
314 浏览

c# - 图像编辑例外

我正在使用 MVVM 处理 WPF 应用程序。在 imageSlider 中加载和编辑图像会给我错误和异常。

加载图像:Insufficient memory to handle 编辑图像:Sharing violation

视图模型:

模型:

XAML

上面的代码适用于 imageSlider(Next 和 Back)。但是在编辑过程中它会打开mspaint,当我保存它时会抛出我Sharing violation error厌倦了在 SO herehere中发布的几个解决方案。尝试这些时,我可以编辑图像并保存而不会出现任何错误。但是当使用 Slider 控件(Next 和 Back)并加载较重的图像时,它经常会抛出Insufficient memory to handle异常。

所以现在我需要消除这两个问题。请帮忙。

0 投票
0 回答
349 浏览

c# - 写入文本文件 C#

这是相关的代码。我需要写入一个统一文件而不一次又一次地覆盖这些行。

这是我的具体错误。 IOException:在路径 G:\Physics Platformer\Assets\SaveFiles\ControlStick.txt System.IO.FileStream..ctor 上共享冲突(System.String 路径、FileMode 模式、FileAccess 访问、FileShare 共享、Int32 bufferSize、布尔匿名、FileOptions 选项) (在/Users/builduser/buildslave/mono/build/mcs/class/corlib/System.IO/FileStream.cs:320) System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share) (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare) System.IO.StreamWriter..ctor (System.String 路径,布尔附加,System.Text.Encoding 编码,Int32 bufferSize)(在 /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.IO/StreamWriter.cs:124)系统。 IO.StreamWriter..ctor(System.String 路径,Boolean append) (wrapper remoting-invoke-with-check) System.IO.StreamWriter:.ctor (string,bool) VirtualJoystick.Update () (at Assets/UBX-master/UBX-master/VirtualJoystick.cs:51) 为了解释,我使用 Application.dataPath 来获取我的统一游戏在导出和安装后的安装路径。输入向量是 Vector3。

0 投票
4 回答
12252 浏览

python - Pandas / xlsxwriter writer.close() 没有完全关闭excel文件

我正在尝试在使用 python 脚本创建 Excel 文件后手动修改它。不幸的是,如果脚本仍在运行,则在尝试使用相同名称保存时会出现共享文件冲突错误消息。

一切都在代码中顺利运行。文件被创建、填充和保存。我可以打开它并对其进行处理,但如果脚本仍在运行,则不能以相同的名称覆盖它。

我希望python完全关闭excel文件并让我在脚本仍在运行时覆盖它

0 投票
1 回答
136 浏览

c# - 使用 iText7 修改现有 pdf 时出现路径共享冲突错误

我使用 Itext7 在 c# 中创建了一个 pdf,但是在向其添加标题后我无法覆盖 pdf,它给出了路径共享冲突错误。我也在正确关闭文档。

我首先使用以下代码创建了至少 10 页的 Pdf:

然后我使用这个函数来添加标题

它给了我这个错误:

创建了 pdf,但是当它调用 Header() 函数时,它给出了 PdfDocument 行的错误,而不是替换现有的 pdf。谁能帮我解决这个问题?

0 投票
0 回答
27 浏览

c# - 如何获取 IOException with Error Sharing Violation 的完整路径文件

我得到一个带有 ERROR_SHARING_VIOLATION = 32 的 IOException,我想让完整路径文件被“锁定”。

异常消息可以有多种语言:

该进程无法访问文件“C:\Users\mj.PG\Documents\IssuedLetter\3.PDF”,因为它正被另一个进程使用。

El proceso no puede obtener acceso al archivo '\xxxx.es\xxxxx\Campañas SVT\Campaña zzzz\Coordinacion\4_ESTADISTICAS\2021\05_mayo\Informes Servicio zzzz\Informe Acumulado\Informe Acumulado 05_05_2021.xlsx' porque está siendo troceso en .

如何在不使用字符串的情况下获取完整路径文件?

0 投票
0 回答
79 浏览

c++ - 获取文件路径时如何避免“共享冲突”

我想检索 C:/ 驱动器中的所有文件/目录路径(嵌套),至少如果它们当前未使用或我有权检索的地方。

为了递归地做到这一点,我使用 recursive_directory_iterator 了 from std::filesystem

由于以下原因,我设法避免了权限错误std::filesystem::directory_options::skip_permission_denied

但是,当我的程序进入C:/drivers时,我得到_Error _Sharing_violation (32) __std_win_error了因为它试图访问的文件可能是打开的。

我添加了避免C:/WindowsC:/drivers的条件,但我想确保避免前面提到的错误。不幸的是,文件系统中没有选项可以防止此错误,例如skip_permission_denied权限,或者我不知道。

这是我当前的代码:

不注意!fs::is_regular_file(p.path()),我手动更改它以测试和检索目录或文件。我得到两者的共享冲突错误

经过一些测试后,我发现我的程序在检查C:\DumpStack.log.tmp时失败了。问题来自!fs::is_regular_file(p.path()). 当我删除此验证时,该程序起作用了。现在,我不知道如何在不触发共享冲突的情况下检查对象类型