C# Visual Studio-不能多次生成简单项目
当我尝试两次成功地构建一个项目时,我得到了以下错误C# Visual Studio-不能多次生成简单项目,c#,visual-studio-2010,C#,Visual Studio 2010,当我尝试两次成功地构建一个项目时,我得到了以下错误 Error 2 Unable to copy file "obj\x86\Release\iFileUploader.exe" to "bin\Release\iFileUploader.exe". The process cannot access the file 'bin\Release\iFileUploader.exe' because it is being used by another process. 如果我关闭Visu
Error 2 Unable to copy file "obj\x86\Release\iFileUploader.exe"
to "bin\Release\iFileUploader.exe". The process cannot access the
file 'bin\Release\iFileUploader.exe' because it is being used by another process.
如果我关闭VisualStudio并重新打开它,我可以再次编译它,但只能编译一次
我的项目托管在Windows网络共享上。该服务器在Windows7机器上运行Windows2008R2和Im,我尝试将everyone完全控制共享和文件夹权限设置为无效
我甚至运行了解锁程序,检查了Windows共享和存储管理器,看看是否有任何东西在使用它,也没有任何东西在使用它!在关闭VS之前,我也无法删除此文件
Visual Studio中有我缺少的设置吗
更新 已删除所有防病毒/反垃圾邮件、禁用防火墙。。所以零安全 已禁用“启用Visual Studio宿主进程” VisualStudio是如何在不释放句柄的情况下保持冷静的
更新 另一个线程有完全相同的问题,但从几年前
更新
我在本地复制了这些文件,但这不起作用。因此,我创建了一个新项目,然后将所有代码复制到新项目中,现在它可以工作了(文件存储在本地)检查您的防病毒程序是否正在使用它 或者使用Process Explorer并查找字符串-“iFileUploader.exe”,然后查看是谁在使用它。您可以轻松地获取手柄并将其关闭。有几点:
- 检查Windows任务管理器中是否没有正在运行的进程
iFileUploader.exe
- 检查是否没有人正在运行可以使用
的项目iFileUploader.exe
Class SomeClass
{
public StreamWriter streamwrtFileToCreate = null;
public FileStream fstreamFileStream = null
public SomeMethod(string FileName, string FilePath)
{
FileStream fstreamFileStream = new FileStream(@FileName + @FilePath, FileMode.Create);
streamwrtFileToCreate = new StreamWriter(fstreamUpdateRpt);
streamwrtUpdateRpt.AutoFlush = true;
}
}
另外,如果您在创建FileStream实例时发布您正在使用的代码的确切示例也会有所帮助,即使您在using(){}中有您的流,也不要声明StreamReader的新变量,例如,不要这样做
using(StreamReader streamReade = new StreamReader)
{
..... // if you do you will run into that stream being locked
}
//Declare the StreamReader variable out side of the using and then within the using do something like this.
StreamReader streamReader = null
using(streamReader = new StreamReader()
{
}
我在VS 2012 windows 7中遇到了这个问题。 根本原因是Avast防病毒 修复程序在需要时在C++控制台上禁用AVAST 应用程序 (或) ->转到Avast设置 ->主动保护 ->文件系统屏蔽(自定义) ->执行时取消选中扫描程序
这是服务吗?编译项目时它是否正在运行?也许是你的后期脚本让它运行了。我的工作计算机上也有同样的问题。我怀疑最前沿的反病毒技术是问题的一部分。你使用防病毒程序吗?你能关闭它,看看问题是否消失吗?请查看问题中更新的评论,而不是已删除并重新启动的杀毒软件,仍然是相同的问题。当你试图杀死句柄时会发生什么?你能做到吗?这可能是VisualStudio的错误,因为hanldes与VisualStudio的PID关联。所以杀掉它们,杀掉Visual Studio我不认为重新打开会重新建立到同一文件的链接。但是我并没有在我有流的地方运行程序,我使用
use(){}
good to know欢呼,但这不是streamreader的问题,只是一些Visual Studio bug。一旦我将代码复制到一个新项目中,它就工作得很好。