Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.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
Visual studio Visual Studio:如何在Visual Studio中引用程序集?_Visual Studio_Assemblies - Fatal编程技术网

Visual studio Visual Studio:如何在Visual Studio中引用程序集?

Visual studio Visual Studio:如何在Visual Studio中引用程序集?,visual-studio,assemblies,Visual Studio,Assemblies,我有一个程序集dll的调试版本和发布版本 他们坐在我的电脑上。对于其他开发人员,他们坐在他们计算机上的目录中 对于应用程序的调试版本,我希望使用调试程序集。对于应用程序的发布版本,我希望使用发布程序集 这就是问题所在 对于那些不注意的人来说,这里有很多问题。如何引用我的计算机上的程序集,该程序集在项目签入源代码管理后成为其他人计算机上的有效路径 如何按解决方案类型调试、发布引用节点 我尝试将调试程序集复制到 \bin\Debug \bin\Release 并将释放组件安装到 \bin\Deb

我有一个程序集dll的调试版本和发布版本

他们坐在我的电脑上。对于其他开发人员,他们坐在他们计算机上的目录中

对于应用程序的调试版本,我希望使用调试程序集。对于应用程序的发布版本,我希望使用发布程序集

这就是问题所在

对于那些不注意的人来说,这里有很多问题。如何引用我的计算机上的程序集,该程序集在项目签入源代码管理后成为其他人计算机上的有效路径

如何按解决方案类型调试、发布引用节点

我尝试将调试程序集复制到

\bin\Debug
\bin\Release
并将释放组件安装到

\bin\Debug
\bin\Release
并将程序集dll添加到

\bin\Debug \bin\Release

文件夹。然后我希望程序集可以在可执行文件的文件夹中找到


问题是,当CopyLocal为false时,其他开发人员的计算机会出现无法覆盖程序集DLL的错误。

是否包含项目和项目链接?不知道这在你的情况下是否有效…

包括项目和项目链接?不知道这在您的情况下是否有效…

为这些DLL使用一个公共结构一个公共目录名并链接到此相对目录

.csproj文件中的示例:

<Reference Include="utils_xxx, Version=1.2.10.0, Culture=neutral, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>..\..\common_utils_dllproject_dir\utils\bin\$(Configuration)\utils_xxx.dll</HintPath>
</Reference>
你可能必须手工输入,但一旦进入回购,所有人都是一样的。现在,您只需说服开发人员调整此目录布局和命名


PS:如果您忽略了它:$Configuration是使用Release/Debug DLL的诀窍。

为这些DLL使用一个公共结构—一个公共目录名和指向此相对目录的链接

.csproj文件中的示例:

<Reference Include="utils_xxx, Version=1.2.10.0, Culture=neutral, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>..\..\common_utils_dllproject_dir\utils\bin\$(Configuration)\utils_xxx.dll</HintPath>
</Reference>
你可能必须手工输入,但一旦进入回购,所有人都是一样的。现在,您只需说服开发人员调整此目录布局和命名

PS:如果您忽略了它:$配置是使用发布/调试DLL的诀窍

开发人员必须在其计算机上的某个位置有一个文件夹,其结构如下。。。 从第一步开始,打开项目并添加对调试程序集的引用。登记。 让每个开发人员打开项目并在项目属性中添加引用路径。该路径应该是从第一步开始到调试文件夹的绝对路径。 让每个开发人员关闭Visual Studio并编辑[project].用户文件,该文件现在与项目文件位于同一文件夹中。将调试更改为$Configuration。保存并关闭。 现在应该可以了。如果在解决方案资源管理器中选择引用并查看属性网格中的Path属性,则该属性可能不正确。这只是一个VS问题。如果您在发布和调试中测试构建,它应该可以工作。 这是因为开发人员设置的引用路径存储在从未签入源代码管理的用户文件中。因此,每个开发人员的路径可能不同。这个解决方案基本上是从Leonidas的答案中窃取的,但使用参考路径

免责声明 我不知道你处境的所有细节,但我个人不会这么做。我可能会在开发人员的机器上发布程序集的发布版本。然后我会有一个在服务器上运行的构建脚本,它会处理您复杂的场景

开发人员必须在其计算机上的某个位置有一个文件夹,其结构如下。。。 从第一步开始,打开项目并添加对调试程序集的引用。登记。 让每个开发人员打开项目并在项目属性中添加引用路径。该路径应该是从第一步开始到调试文件夹的绝对路径。 让每个开发人员关闭Visual Studio并编辑[project].用户文件,该文件现在与项目文件位于同一文件夹中。将调试更改为$Configuration。保存并关闭。 现在应该可以了。如果在解决方案资源管理器中选择引用并查看属性网格中的Path属性,则该属性可能不正确。这只是一个VS问题。如果您在发布和调试中测试构建,它应该可以工作。 这是因为开发人员设置的引用路径存储在从未签入源代码管理的用户文件中。因此,每个开发人员的路径可能不同。这个解决方案基本上是从Leonidas的答案中窃取的,但使用参考路径

免责声明
我不知道你处境的所有细节,但我个人不会这么做。我可能会在开发人员的机器上发布程序集的发布版本。然后,我将有一个在服务器上运行的构建脚本,该脚本将处理您复杂的场景。

既然正在引用程序集,为什么需要调试和发布程序集?现在我没有单独引用它们。现在我正在引用程序集dll的调试版本
我的项目处于调试或发布模式。既然正在引用调试和发布程序集,为什么还需要它们?现在我没有单独引用它们。现在,无论我的项目处于调试模式还是发布模式,我都在引用汇编dll的调试版本。我不能强制每个开发人员使用目录结构。是的,你可以,是的,你应该这样做。否则,你将永远无法在混合中使用多个开发人员构建任何东西。我同意@Bigtoe。确保所有开发人员的目录结构相同的一种方法是将Common_utils文件夹也放在存储库中。我不能强制每个开发人员使用目录结构。是的,你可以,是的,你应该这样做。否则,你将永远无法在混合中使用多个开发人员构建任何东西。我同意@Bigtoe。确保所有开发人员的目录结构相同的一种方法是将Common_utils文件夹也放在存储库中。它不是项目,而是程序集。它不是项目,而是程序集。