Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Visual Studio-不能多次生成简单项目_C#_Visual Studio 2010 - Fatal编程技术网

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
    的项目

确保创建StreamReader或StreamWriter实例的位置已关闭流

例如,我将在应用程序级别创建一个StreamReader/StreamWriter实例,并将其设置为null

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。一旦我将代码复制到一个新项目中,它就工作得很好。