Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.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# 在重新生成引用后加载它们很困难_C#_.net_Vb.net_Visual Studio 2010_Dll - Fatal编程技术网

C# 在重新生成引用后加载它们很困难

C# 在重新生成引用后加载它们很困难,c#,.net,vb.net,visual-studio-2010,dll,C#,.net,Vb.net,Visual Studio 2010,Dll,我同时编写应用程序和库,每当我更新库时,要在消费者应用程序中识别它就有点困难。我已经为每个库和应用程序打开了一个单独的VisualStudio实例。重建库后,我在消费者应用程序中收到以下警告/错误。然后,我要么删除引用,然后再次添加它。或者,我必须清理并构建库解决方案3-4次,以便此类警告/错误在消费者应用程序VS解决方案中消失。为什么这样做4次与做1次或2次会有什么不同 我想了解为什么会发生这种情况,以及是否可以采取措施使这项工作更加顺利 不确定它是否相关,但我用VB.NET编写的大多数应用程

我同时编写应用程序和库,每当我更新库时,要在消费者应用程序中识别它就有点困难。我已经为每个库和应用程序打开了一个单独的VisualStudio实例。重建库后,我在消费者应用程序中收到以下警告/错误。然后,我要么删除引用,然后再次添加它。或者,我必须清理并构建库解决方案3-4次,以便此类警告/错误在消费者应用程序VS解决方案中消失。为什么这样做4次与做1次或2次会有什么不同

我想了解为什么会发生这种情况,以及是否可以采取措施使这项工作更加顺利

不确定它是否相关,但我用VB.NET编写的大多数应用程序和C#编写的库(因为我正在将所有内容更改为C#)。我还有消费者应用程序VS中打开的库中的C#文件,因为它在调试过程中弹出。我还引用了library project/bin/Debug文件夹中的库DLL,因为在开发的这个阶段我做了很多更改

警告1导入“somelibrary”中指定的命名空间或类型 不包含任何公共成员或找不到。确保 命名空间或类型已定义并至少包含一个公共 成员。确保导入的元素名称不使用任何 别名。”本地路径'

错误72无法加载引用的库“path\somelibrary.dll”:错误为 进程无法访问该文件,因为另一个进程正在使用该文件 过程


对于解决方案中的每个项目,请检查项目设置->编译选项卡->高级编译选项…->目标框架(所有配置),查看它们是否都是(例如).NETFramework4。对于解决方案中的每个项目,使用不同或错误的框架可能会导致您现在遇到的问题检查项目设置->编译选项卡->高级编译选项…->目标框架(所有配置),查看它们是否都是(例如).NETFramework4。使用不同或错误的框架可能会导致您现在遇到的问题

当您构建一个项目时,您会将.DLL文件锁定在构建它的项目中,因为这是visual studio库实例将使用的程序集版本-但是您在另一个进程中引用的是同一个库,因此您会看到错误

您有两个选项,保持两个实例,然后关闭两个实例,再次打开它们,一切都会好起来


您最好将您正在引用的项目本身(并得到错误)添加到您的解决方案中。然后通过
Projects
选项卡添加对本地项目的引用,而不是引用
YourProject/bin/debug/assembly.dll。这将使一个进程继续引用它所需的适当程序集。

当您构建项目时,您会将.DLL文件锁定在构建它的项目中,因为这是visual studio库实例将使用的程序集版本-但是您在另一个进程中引用的是同一个库,因此您会看到错误

您有两个选项,保持两个实例,然后关闭两个实例,再次打开它们,一切都会好起来

您最好将您正在引用的项目本身(并得到错误)添加到您的解决方案中。然后通过
Projects
选项卡添加对本地项目的引用,而不是引用
YourProject/bin/debug/assembly.dll。这将保持一个进程引用它所需的适当程序集

我同时编写应用程序和库,每当我更新库时,要在消费者应用程序中识别它就有点困难我已经为每个库和应用程序打开了一个单独的Visual Studio实例。

这是你问题的根本原因。VisualStudio不喜欢其控制范围之外的事物发生变化。您应该打开一个包含所有相关项目的单一解决方案。然后,当某些内容发生更改时,依赖于该项目的所有项目都将自动重建。(至少,这是默认设置。)

重建库后,我在消费者应用程序中收到以下警告/错误。然后,我要么删除引用,然后再次添加它。或者,我必须清理并构建库解决方案3-4次,以便此类警告/错误在消费者应用程序VS解决方案中消失。为什么这样做4次与做1次或2次会有什么不同

我认为这与您清理和重建它的次数无关,但与您上次进行更改的时间无关-您必须等待构建dll的VS实例释放文件上的锁,然后使用它的VS实例才能访问它

我同时编写应用程序和库,每当我更新库时,要在消费者应用程序中识别它就有点困难我已经为每个库和应用程序打开了一个单独的Visual Studio实例。

这是你问题的根本原因。VisualStudio不喜欢其控制范围之外的事物发生变化。您应该打开一个包含所有相关项目的单一解决方案。然后,当某些内容发生更改时,依赖于该项目的所有项目都将自动重建。(至少,这是默认设置。)

重建库后,我在消费者应用程序中收到以下警告/错误。然后,我要么删除引用,然后再次添加它。或者,我必须清理并构建库解决方案3-4次,以便此类警告/错误在消费者应用程序VS解决方案中消失。为什么是w