Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.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
.net 添加项目&x27;s动态引用同一解决方案中的另一个项目_.net_Vb.net_Dynamic_Envdte - Fatal编程技术网

.net 添加项目&x27;s动态引用同一解决方案中的另一个项目

.net 添加项目&x27;s动态引用同一解决方案中的另一个项目,.net,vb.net,dynamic,envdte,.net,Vb.net,Dynamic,Envdte,我有一个解决方案和三个项目,它们都是动态创建的。现在我必须将第一个项目的引用添加到第二个和第三个项目中。当我尝试逻辑时,我能够单独构建项目,而构建解决方案时,它会抛出“引用无法正确加载”错误。当使用vsproject.References.Add()方法直接添加.dll时会发生这种情况 因此,我尝试使用下面的代码作为上述问题的解决方案。但我还是犯了一些错误 Imports VSLangProj ' Add the second project as a reference to the firs

我有一个解决方案和三个项目,它们都是动态创建的。现在我必须将第一个项目的引用添加到第二个和第三个项目中。当我尝试逻辑时,我能够单独构建项目,而构建解决方案时,它会抛出
“引用无法正确加载”
错误。当使用vsproject.References.Add()方法直接添加
.dll
时会发生这种情况

因此,我尝试使用下面的代码作为上述问题的解决方案。但我还是犯了一些错误

Imports VSLangProj
' Add the second project as a reference to the first project.
Sub AddProjectExample()
   ' First project is a Visual Basic or C# project.
   Dim theVSProject As VSProject = _
      CType(DTE.Solution.Projects.Item(1).Object, VSProject)

   ' Second project is any type of project.
   Dim secondProject As Project = DTE.Solution.Projects.Item(2)

   ' AddProject returns the newly created Reference object.
   Dim newReference As Reference
   newReference = theVSProject.References.AddProject(secondProject)
End Sub
错误是

The referenced assembly 'EnvDTE, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' could not be found. 
有什么解决办法吗

我们没有应用以下修复程序的
VS IDE
文件夹的权限

注意:也尝试了应用程序
App.Config
的以下解决方案,但仍然存在问题


诺沃德是绝对正确的。不确定您试图用于添加引用的代码,但可以通过编程方式编辑项目根目录中的csproj文件,以便在其正确位置添加以下内容:

<ItemGroup>
    <ProjectReference Include="..\MyOtherProj\MyOtherProj.csproj">
      <Project>{abda85bb-2019-4b80-982e-b90add3fcca0}</Project>
      <Name>MyOtherProj</Name>
    </ProjectReference>
  </ItemGroup>

{abda85bb-2019-4b80-982e-b90add3fcca0}
肌肉疗法
调用内部调用的powershell脚本或某些控制台exe。
希望这有帮助

是否可以通过编程方式修改项目文件?我想知道是否可以在项目文件的相应元素中添加另一个元素。您可以包括已编译.dll的路径、项目GUID及其名称。{[projectGuid]}[projectName]@Bone:先看问题。@NWard:我用ENVDTE、VSProject和引用编写了类似的代码。有什么办法可以让上面的代码工作吗?恐怕我不确定,我没有任何使用EnvDTE的经验。我只是在猜测是否有其他不涉及环境的解决方案。您能告诉我们更多关于您试图解决的问题吗?我已经使用XML处理了.csproj文件。但是我需要知道是否可以在不使用.csproj文件的情况下添加它。不过,问题中没有提到这一点,事实上,VisualStudio将项目引用存储在csproj文件(AFAIK)中。查看此链接是否可以帮助您了解相关信息: