c# - 任何项目在代码中发布但发生错误。我该如何解决?
问题描述
public Foo()
{
PublishProject();
}
internal static void PublishProject()
{
var project = GetActiveProject();
var sb2 = project.DTE.Solution.SolutionBuild as SolutionBuild2;
sb2.PublishProject(project.ConfigurationManager.ActiveConfiguration.ConfigurationName, project.UniqueName, true);
}
internal static EnvDTE.Project GetActiveProject()
{
EnvDTE.DTE dte = Microsoft.VisualStudio.Shell.Package.GetGlobalService(typeof(Microsoft.VisualStudio.Shell.Interop.SDTE)) as EnvDTE.DTE;
EnvDTE.Project activeProject = null;
string endWith = ((dte.Solution.SolutionBuild as EnvDTE80.SolutionBuild2).StartupProjects as System.Array).GetValue(0).ToString();
foreach (EnvDTE.Project project in dte.Solution.Projects)
{
if (project.FullName != null && project.FullName.EndsWith(endWith))
{
return project;
}
}
return null;
}
输出 :
1>----- 发布开始:项目:WebApplication2,配置:释放任何CPU ------
1>错误:对象引用未设置为对象的实例。
========== 发布:0 成功,0 失败,0 跳过 ==========
注意:我使用 translate 翻译了它。
我在代码中发布网络应用程序项目(.net framwork)。
我看这里
我使用了这种方法,但它给出的错误没有任何意义。
问题中有什么遗漏吗?
你能帮忙吗
解决方案
任何项目在代码中发布但发生错误。我该如何解决?
根据您的描述,不仅这个项目,其他项目也有发布问题。
如果您安装Microsoft.VisualStudio.SDK nuget 包,然后引用这些程序集:
using EnvDTE80;
using EnvDTE;
using Microsoft.VisualStudio.Shell;
对于您的代码,我不会遇到同样的发布错误。所以我认为您的项目环境或VS IDE存在一些错误。
请尝试以下建议:
建议
1)删除下所有组件缓存C:\Users\xxx\AppData\Local\Microsoft\VisualStudio\15.0_xxx(15.0 is VS2019)\ComponentModelCache
然后重启VS
2)Tools
禁用-->下的任何第三方扩展Extensions and Updates
。
3)如果有,请删除bin*.dll.refresh
输出文件夹中的文件。
4)关闭VS Instance,删除.vs
隐藏文件夹,,bin
文件obj
夹,然后重新启动你的项目。
5)请检查您是否安装了 McAfee 防病毒软件,如果有,请将其关闭。
6)如果您的VS2017不是最新版本,请更新它以防某些修复或修复。
希望它可以帮助你。
推荐阅读
- javascript - 使用javascript获取元素中的最后一个标签
- jenkins - 将 Jenkins 工作从另一个工作标记为不稳定
- web-scraping - Beautifulsoup,在列而不是一个字符串中追加数据
- dart - 如何在 Dart 中将 Uint8List 转换为十进制数?
- python - 如何在模板中显示多对多字段?
- python - Python,Pandas:访问 lambda 函数中的多个列
- solr - Hybris SOLR 拼写检查配置
- java - ArrayList:我想在我的arrayList 中找到一个词
- python - 如何在Python中并行迭代for循环中的列表
- javascript - 如何在javascript中的同一行中获取锚点和段落?