问题标签 [vsta]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1105 浏览

c# - GetPreviewBitmapFile 保存具有奇怪颜色的预览位图(SolidWorks)

我正在为我们的制造部门开发 C# VSTA 宏。我SldWorks.GetPreviewBitMapFile用来保存所选模型的位图预览并将其显示在图片框中,如下所示:

在此处输入图像描述

除了奇怪的颜色外,代码看起来很好,执行也很好:

有没有人遇到过类似的问题,有什么补救措施?

0 投票
0 回答
128 浏览

c# - 在自己的进程中启动 .net-assembly,传递一个对象

我正在编写一个支持 VSTA 2015 1的应用程序。

在其中,我需要加载一个程序集,访问一个众所周知的方法(一个构造函数,这并不重要),调用它,并将一个 COM 对象传递给它(包装起来,因此它自然是一个 .net 对象)。

这工作正常。现在,为了启用调试,我需要加载程序集的进程与与 VSTA 子系统交互的进程不同。应用程序与 VSTA 子系统交互;这意味着我需要在不同的过程中加载程序集。

是否有一种简单的方法可以在单独的进程中加载​​ .net 程序集,将 com 对象(或包装 com 对象的 .net 对象)传递给众所周知的入口点?

复杂的方法将涉及创建一个自定义 .exe 加载程序来加载程序集,使用 IPC 获取 COM 接口,将其打包并将其传递给程序集。然后使用 IPC 返回任何错误消息。不确定我应该使用哪种 IPC。但是这里有很多活动部件(两个 IPC 系统,装载机),我希望没有它们有一种简单的方法来做到这一点。

我看了看System.Diagnostic.Process.Start,但它似乎无法在选项中“将程序集作为进程打开并将此 .net 对象传递给它”。

公寓(和类似的)可能不起作用,因为需要单独的进程,以便调试器可以附加到 VSTA“脚本”进程并暂停/推进它而不锁定 VSTA“托管”进程(在文档中说它可能导致死锁)。

如果这很重要,应用程序是混合托管/非托管的。托管组件大部分是C#,非托管大部分是C++,大部分接口是C++/cli。


1 VSTA 2015 是一个 Microsoft 解决方案,允许即时编辑 .net 语言的“类脚本”环境,其中 Visual Studio IDE 工作流与应用程序工作流集成。请注意,这在根本上与 VSTA 2012 之前的版本不同:VSTA 2012 之前的信息或答案在这里不太可能有用。

0 投票
1 回答
52 浏览

c# - 使用 c# 在代码隐藏中调用信息路径文本字段

我有 2 个文本字段:

文本字段 1 - 用户键入输入数字

文本字段 2 - 您从用户在第一个文本字段中键入的内容中获得结果。

我的问题是我不知道如何从我的信息路径表单中调用 textfield1 或 textfield2 来操作它们。两个文本字段都在 MyFields 表单下,我已经建立了一个运行良好的 sql 连接。希望有人可以帮助

0 投票
3 回答
30644 浏览

ssis - SSIS:在 sql server 2014 上部署时脚本任务(vs15)不起作用

错误:

从 XML 加载脚本任务时出现异常:System.Exception:脚本任务使用此版本的 Integration Services 中不支持的 14.0 版脚本。要运行包,请使用脚本任务创建一个新的 VSTA 脚本。在大多数情况下,当您在 %SQL_PRODUCT_SHORT_NAME% Integration Services 中打开 SQL Server Integration Services 包时,脚本会自动转换为使用受支持的版本。在 Microsoft.SqlServer.Dts.Tasks.ScriptTask.ScriptTask.LoadFromXML(XmlElement elemProj,IDTSInfoEvents 事件)

我正在做它所说的,但它没有帮助。

有什么解决办法吗?

0 投票
8 回答
15394 浏览

ssis - VS2015 中不显示 SSIS VSTA 脚本编辑器

我最近在 VS2015 中创建了一个新的 SSIS 项目。我添加了一个脚本任务,当我单击“编辑脚本”按钮时。Visual Studio 打开;但是,没有解决方案

我以管理员身份运行 VS。我尝试重新安装 Microsoft Visual Studio Tools for Applications 2015。没有运气。在重新安装 Microsoft Visual Studio Tools for Applications 2015 后,我确实得到了解决方案;但是,下次我单击“编辑脚本”时,什么也没有。

这是 VSTA 的错误还是其他人遇到过这个问题?

脚本组件中的“编辑脚本”按钮: 在此处输入图像描述

单击“编辑脚本”时没有解决方案: 单击编辑脚本时没有解决方案

0 投票
1 回答
952 浏览

vb.net - SolidWorks API,宏在 VSTA 中工作,但不是来自 dll

非常感谢谁能花几分钟时间来帮助我,所以在此先感谢!

让自己陷入运行宏的情况VSTA works (vb.net),但从solidworks运行dll文件不起作用。可能忘记了一些非常简单的事情。原则是文本文件与 dll 文件位于同一文件夹中,默认情况下从该文件夹中读取,没有长位置“字符串”

VSTA在构建 dll 中和之后都有效(非常简单)

不,我想以从文本文件中读取图层名称的方式做同样的事情。从运行时它可以工作VSTA,但是在构建到 dll 并从可靠的工作运行后它会给出错误:无法打开

“位置”\macro.dll。

0 投票
1 回答
820 浏览

c# - InfoPath 2013 开发出现错误“无法开始调试。与主机的预调试协商失败。”

我正在使用 Visual Studio 2012(专门用于 InfoPath 开发,没有其他原因,因为 Microsoft)和 Visual Studio 2013 用于其他开发,包括 SSRS、SSIS。上周我搬到了 2015 年,麻烦就来了。

在使用 SSTD 更新安装 VS2015 后,我无法再调试或处理 InfoPath 表单代码。每次我尝试使用代码调试或保存表单时,我都会得到:

我知道这个错误在 SSIS 而不是 VSTA 中很流行,我在一般的 VSTA 和特定的 InfoPath 中找不到任何与此问题相关的帖子。如果可能,我已经尝试了很多关于 SSIS 的建议,但没有任何效果。

我仍然需要处理 InfoPath 2013 表单代码(遗留项目),并且还必须使用 2015 或 2017 用于其他项目。任何建议表示赞赏。

截屏

更新:

  • 卸载VS2012并重新安装它没有帮助。与卸载并重新安装 VSTA 相同。VS2015 是一个很大的卸载工作,所以我不理会它。

  • 按确切顺序重新安装了 Windows 10、InfoPath 2013、Visual Studio 2012 Update 5、VSTA 2012 和 Visual Studio 2017。同样的问题。

0 投票
0 回答
1195 浏览

visual-studio-2015 - 脚本任务在 SSIS 2016 (VSTA 2015) 中丢失代码

我有一个 SSIS 包,其中包含许多 For Each ADO 循环,每个循环都有一个脚本任务,通常工作正常。

然而,每隔一段时间,脚本任务就会突然“忘记”任务中的所有代码。我看到了一个空的任务编辑器,它已重置为 C#(如果使用 VB),并且丢失了 ReadOnlyVariable 名称。如果我单击编辑脚本,我会在编辑器中创建一个全新的脚本。这会在重新打开包时或在编辑不同的脚本任务后间歇性发生。同样的事情也发生在 32 位或 64 位模式下的 VB 和 C# 脚本中。

我已经使用 SSIS 2008 和 2012 多年,但只有 SSIS 2016 我经历过这样的事情!想不出任何办法来缓解或解决它(除了使用 2012 之外)。

我使用的是最新的 Visual Studio 14.0.23107.0 D14REL,.NET 版本 4.6.01055。TargetServerVersion 是 SQL Server 2016。以前有没有其他人经历过这个?我认为这是 Visual Studio 2015 中的一个错误,但项目截止日期不允许我等待微软!

0 投票
1 回答
382 浏览

visual-studio-2005 - 有多个实例时如何在 Solidworks 中引用活动文档

我在 Solidworks 2017 Visual Studio Tools for Applications 中使用以下代码。它是运行 Microsoft Visual Basic 2005 和 Microsoft .NET Framework 版本 2.0.50727 SP2 的 Microsoft Visual Studio 2005 版本 8.0.50727.42。

一般来说,代码工作正常。但是,有时会在 Windows 任务管理器的“后台进程”列表下列出正在运行的 Solidworks 的额外实例。发生这种情况时,我的代码会引发异常。为了让我的代码毫无例外地执行,我必须找到流浪的solidworks后台进程并使用任务管理器强制终止它。

(我不知道为什么会出现这些 Solidworks 的背景版本。)

我没有发现 Solidworks 关于 ActiveDoc 的文档很有帮助:http://help.solidworks.com/2017/english/api/sldworksapi/solidworks.interop.sldworks~solidworks.interop.sldworks.isldworks~activedoc.html? verRedirect=1

我的问题是:如何在不必强制终止那些后台进程的情况下获得对当前文档的引用?我尝试寻找其他方法来获取对活动文档的引用,但我发现的大多数代码示例都使用 ActiveDoc。

0 投票
1 回答
1154 浏览

sql-server - 导入 SQL Server 2016 时 SSIS 脚本任务丢失代码

在我的生产环境中,我在 Windows Server 2016 上安装了带有 SSDT 17.4 的 Visual Studio 2015 和 SQL Server 2016。

我有几个包,其中包含运行 C# 代码的脚本任务,当您在 Visual Studio 中运行它们时,这些代码在调试模式下工作。当我使用 SSMS 将它们导入 SQL Server 包存储时,脚本任务 C# 代码被删除。我可以通过将刚刚导入的包导出到文件夹位置并在 Visual Studio 中打开它来确认这一点。当我在 VSTA 中编辑脚本任务时,脚本任务代码完全重置为默认脚本,并且所有 C# 类文件都消失了。

我正在运行 SSDT 17.2 并升级到 17.4 认为它可能会有所帮助,但对问题没有影响。

似乎与 Visual Studio 无关,因为在 SQL Server 导入/导出过程中文件正在 Visual Studio 之外进行修改。

任何建议,将不胜感激。