我正在尝试为Outlook外接程序创建一个小设置,其中包含对某些TFS程序集的引用。
我试图通过安装屏蔽创建一个手动设置,但这非常失败,因为Outlook一直忽略Addin。
因此,正确的做法是通过“发布”和ClickOnce进行谴责。这是可行的,但似乎间接引用了Microsoft.WITDataStore.dll‘。当我发布AddIn时,这个程序集不会被部署,并且vsto文件无法正确地安装AddIn。
因此,我认为最简单的方法是添加程序集,但是一旦我试图通过"C:\Program (X86)\ 12.0\Common7\IDE\ReferenceAssemblies\v2.0\Microsoft.WITDataStore.dll",添加程序集,我就会得到错误:
---------------------------
Microsoft Visual Studio
---------------------------
A reference to 'C:\Program Files (x86)\Microsoft Visual Studio
12.0\Common7\IDE\ReferenceAssemblies\v2.0\Microsoft.WITDataStore.dll'
could not be added. Please make sure that the file is accessible, and
that it is a valid assembly or COM component.
---------------------------
OK
---------------------------我的第二种方法是创建自己的发布配置文件,并尝试手动添加此程序集,但似乎只能为web项目而不是为加载项创建概要文件。
通过msdn i 得到以下建议,我并没有找到很多关于这件事的东西,这一点也没有帮助。
我没有想到这个问题有什么解决办法吗?
编辑:我尝试了jessehouwing的建议。非常有趣的是:如果我将程序集作为内容添加到主项目(Outlook的接口)中,甚至设置为“不复制”,我将得到所需的Microsoft.WITDataStore.dll.deploy -文件,但在解压缩时也会出现以下错误:
System.IO.IOException:文件“C:\Users\matthias.mueller\AppData\Local” \Temp\Deployment\JVX5J0LT.O0R\8P6ZQORW.DQJ\Microsoft.WITDataStore.dll‘已经存在。
如果我将程序集添加到可能直接需要它(DataAccess到TFS)的项目中,文件就不会被创建,我会得到原始错误。我试过“复制如果更新”和“复制始终”,但我也得到了‘已经存在’错误。
发布于 2016-09-13 05:03:30
对于那些将要从事.Net核心项目并陷入这个问题的人来说。我需要做的是将这些dll添加到Project中。并将其添加到project.json
"buildOptions": {
"emitEntryPoint": true,
"preserveCompilationContext": true,
"copyToOutput": { "includeFiles": [ "Microsoft.WITDataStore32.dll", "Microsoft.WITDataStore64.dll" ] }
},
"publishOptions": {
"include": [
"wwwroot",
"Views",
"Areas/**/Views",
"appsettings.json",
"web.config"
],
"includeFiles": [ "Microsoft.WITDataStore32.dll", "Microsoft.WITDataStore64.dll" ]
},否则,在发布到Azure时,Visual将不会将这些复制到输出文件夹中。
https://stackoverflow.com/questions/28235448
复制相似问题