我有一个解决方案,里面有三个项目,它们都是动态创建的。现在我必须将第一个项目的引用添加到第二个和第三个项目。当我尝试逻辑时,我能够单独构建项目,并在构建解决方案时,它会抛出"Reference could not be loaded properly"
错误。使用.dll
方法直接添加theVSProject.References.Add()
时会发生这种情况。
所以我尝试使用以下代码作为上述问题的解决方案。但是我仍然遇到了一些错误。
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
解决方案,但问题仍然存在。
答案 0 :(得分:2)
NWard是绝对正确的。不确定您尝试用于添加引用的代码,但可以通过编程方式编辑项目根目录中的csproj文件,以便在正确的位置添加以下内容:
<ItemGroup>
<ProjectReference Include="..\MyOtherProj\MyOtherProj.csproj">
<Project>{abda85bb-2019-4b80-982e-b90add3fcca0}</Project>
<Name>MyOtherProj</Name>
</ProjectReference>
</ItemGroup>
调用内部调用的PowerShell脚本或某些控制台exe。 希望这有帮助!