2017-03-09 98 views
0

我目前正在开发一个C#VSIX项目。在该解决方案中,有一个带有ItemTemplate文件的VSIX项目,以及一个ProjectTemplate项目,该项目将作为类库输出。Visual Studio VSIX项目,安装.vsix时未找到项目模板参考

ProjectTemplate-project引用本地.dll文件,VSIX项目引用ProjectTemplate-project。在实验性实例中启动时,一切工作如何,在进行发布构建并将其安装在我自己的机器上时,一切都很顺利。当我在另一台机器上安装.vsix文件时,所有模板都可以像他们应该添加的一样添加,但项目模板无法再找到.dll参考。

我没有足够的代表张贴图像,但我得到的错误是一般缺少指令或程序集引用。 (errorcode:CS0246)

我如何保持参考不被破坏?

值得注意的是,对projectTemplate的引用是通过SideWaffle扩展完成的。

TL:DR:对ProjectTemplate中的本地.dll文件的引用在另一台计算机上运行.vsix文件后中断。

编辑:所以基本上我想有一种方法来在目标机器上部署.dll文件,以便引用不会中断。但我只想要发送.vsix文件

+0

但该DLL部署到其他计算机? – rene

+0

@rene不,我只复制.vsix文件。我想知道如何包括本地.dll文件也部署在目标机器上,以便参考不会中断。我会在问题中澄清它。 – Erik

+0

也许试试这个:http://stackoverflow.com/questions/22630460/how-to-include-vsix-output-in-its-package – rene

回答

1

感谢@rene,这篇文章:How to include VSIX output in it's package?和一些摆弄,我设法让它工作。设置这些VSIXProject属性真正

“复制生成输出到输出目录”
“拷贝调试符号到输出目录”
“在VSIX容器包含汇编”
“包含在本地部署调试符号”
“在SIX容器中包含调试符号”

Plus将.dll文件添加到VSIX项目和ProjectTemplate-Project。在另一台机器上运行.vsix时,它会在使用ProjectTemplate创建它时将.dll添加到新项目文件夹中,并设置引用的正确路径属性。

+0

不要忘记标记你的答案!欢迎来到Stack Overflow。 –