我们有一个Visual Studio包(VS包)引用一个类库项目(项目A)。 项目A又引用了另一个类库项目(项目B)。
因此,依赖结构是这样的:VS包装>项目A>项目B
所有项目相同的解决方案内部存在和依赖已设置为正确的项目引用。
如果我建立在Visual Studio中的包,并期待在bin / Debug文件夹中的所有必要组件都存在,包括项目B的。 然而,当包被部署时,只有A计划的组件都存在和项目B的丢失。 我如何告诉Visual Studio中包括B项目在包间接依赖?
此MSDN文献建议“默认状态在多项目的解决方案,如果输出到VSIX封装的项目包括在同一溶液另一个项目的引用,将包括项目的依赖”。
但是我发现,这根本就不是这样。
我的问题是非常相似, 这一次不同的是,我有与主体工程组装,而不是本地化的附属程序集的麻烦。 在这个其他职位的答案,因为它似乎只为卫星装配件不适合我的工作。
有没有办法,我可以指定直接封装到包括间接依赖,以及一些其他的输出组?
感谢您寻找。
在这种特殊情况下,以最简单的办法是从VSPackage的项目引用项目B和“参考输出组件”属性设置为False,以避免引入编译时依赖。
我有一个类似的问题:我的VS包项目中引用另一个VS包项目( 项目〜A)这反过来又引用了一堆包含我们的扩展的肉的其他项目( 项目〜B)的。
通过这个答案的启发: VSIX包不包括引用的程序集的本地化资源 ,我说“ BuiltProjectOutputGroup;BuiltProjectOutputGroupDependencies;GetCopyToOutputDirectoryItems;SatelliteDllsProjectOutputGroup
”到Output Groups Included in VSIX
从VS包装参考的财产投射 。
这不得不在删除所有依赖的DLL的效果...\Debug\
我的VS项目文件夹,但他们仍然没有得到包含在VSIX。
最后,我去了,并添加了BuiltProjectOutputGroup;BuiltProjectOutputGroupDependencies;GetCopyToOutputDirectoryItems;SatelliteDllsProjectOutputGroup
标志的所有引用从我的A计划和每一个项目B的-然后他们都得到了包含在VSIX。
(顺便说一句这是与Visual Studio 2013,但它似乎并不具有2010年以来太大变化)