首页 - 新闻 - vs2010编程知乎_聊聊.net编程——浅谈使用VS2010建模扩展(下二)——zylovejj2009的专栏...

vs2010编程知乎_聊聊.net编程——浅谈使用VS2010建模扩展(下二)——zylovejj2009的专栏...

2023-10-02 04:31

昨天我介绍了使用VS2010建模扩展的正向工程示例代码,介绍了如何建模以及如何导出项目文件。今天我们将讨论如何从现有代码逆向工程 UML 设计类图。

首先,让我们创建要进行逆向工程的项目文件。该项目非常简单。为了演示更全面,我们分别建立了3个工程项目(类库),如图:

本项目主要实现数据的加减乘除四种简单的计算操作,主要是为了演示如何逆向工程以及如何导出依赖关系。

这三个类库的功能介绍如下:

ZY.TestModeling.InterfaceDefine——该类库的主要功能是接口声明。

ZY.TestModeling.Implement - 该类库主要负责功能实现(这里使用策略模式来封装算法)。

ZY.TestModeling.UI - 顾名思义,这个类库就是用户界面UI界面,主要负责UI程序和用户之间的交互。

现在我们的项目结构已经清晰了,我们来看看如何使用VS2010扩展进行逆向工程。

首先,我们应该创建我们需要的类图文件。怎么做?即我们右键单击解决方案,选择【添加】-》【新建项目】

然后在新建工程对话框中选择【建模工程】,设置工程名称和存储位置,点击【确定】

这样会自动生成解决方案下的建模项目

然后选择项目,在Visual Studio 2010中点击菜单栏上的【架构】-》【新建关系图】

然后弹出新建图对话框,选择“UML类图”,设置名称和添加的建模项目,点击【确定】

建模项目下会生成一个.classdiagram文件。该文件是类图项目文件。双击打开生成的类图文件。

然后,在Visual studio 2010的菜单栏中选择【架构】-》[窗口]-》[架构管理器],如图:

“架构浏览器窗口”将会出现

这里主要有两个视图,分别是“解决方案视图”和“类视图”

解决方案视图根据解决方案中的分层项目目录显示架构

类视图根据类的分层项目目录显示架构

这里我们使用“解决方案视图”的方式来展示架构。在子工程窗口中选择需要逆向工程的工程,右侧会出现“文件”浮动窗口,其中选中了3个工程的所有文件,选择所有文件后,会出现“类型”浮动窗口出现

按住鼠标左键将选中的类型拖到类图文件中,然后松开鼠标左键,这样我们的逆向工程类图就生成了。怎么样让它变得简单!

最终结果是

这里还有一点不得不提的是,在生成的类图中,可以选择一个类,右键【查看代码】,这样就可以直接调到类图的具体实现文件中。您可以双击该类将其打开。图中某个“特征”或者“操作”可以直接定位到实现代码。这个操作确实非常实用方便!

同时,还可以生成依赖图。我觉得这个功能也很强大。它可以图形化地显示项目所依赖的所有DLL,显示依赖关系,甚至可以定位特定的依赖函数。

如何使用?

点击Visual Studio 2010菜单栏中的【架构】-》【生成依赖关系图】

具体来说,有5个子项目可以选择,

通过组装,

按命名空间,

按类别,

通过包含文件,

定制

可以根据自己的需求生成依赖关系图

这里我们选择通过汇编生成

生成后

点击【】按钮,可显示内部详情,并支持子项的继续扩展。不得不说微软确实很强大

同样,双击图中的方法,可以直接定位到具体的代码实现。

这样我们的逆向工程就完成了。

希望大家一起热烈讨论、学习。以后有时间我也会写一些高级的应用,希望和大家一起讨论!

之前使用VS2010编程,访问Oracle 11G数据库。连接正常,程序运行正常。

后来由于业务需要,添加了Oracle 12 C数据库,需要访问。调试程序时,报ORA-28040。后来百度发现没有匹配的验证协议解决方案? Oracle数据库高版本服务与低版本客户端兼容问题。解决相关问题可以参考以下网站:

连接Oracle 12C时出现ORA-28040:没有匹配的认证协议处理方法 - 知乎

根据网友提供的方法,我将本地数据库升级到了Oracle 12 C,同时也升级了PL/SQL Developer的版本。配置完成后,我可以通过PL/SQL Developer正常访问Oracle 11G和Oracle 12 C。数据库。

本以为到这里就结束了,但是当我启用VS2010程序进行调试时,却出现了标题所示的问题。

然后我就在百度上搜啊搜啊测试。很多网友提供了多种解决方案,比如升级VS版本、下载Oracle客户端(不安装本地数据库)、修改VS WEB项目的设置等,但都以徒劳告终。 。 ?

当我非常失望,感觉自己没有方向的时候,一位同事的一句话提醒了我是不是程序编译模式有问题,于是在他的指导下,我尝试更换VS2015的解决方案平台,成功解决了问题。 。

在配置管理器中选择 x64 解决方案平台

关闭,开始运行,成功解决问题。

?

感谢各位网友的方法和同事的建议!

?

?

?

VS2010+Qt_4.8.3环境搭建

各位朋友,最近接触Qt,需要搭建VS2010+Qt_4.8.3,所以去官网下载了源码www.gsm-guard.net并编译好的动态库 qt-win -opensource-4.8.3-vs2010.exe 和 Qt VS2010 的插件 qt-vs-addin-1.1.11-opensource.exe,按照以下步骤操作,

1。安装Qt编译的动态库qt-win-opensource-4.8.3-vs2010.exe

2。安装VS2010的Qt插件qt-vs-addin-1.1.11-opensource.exe

3。打开VS2010并配置Qt Option

4。使用VS2010新建工程,编写代码,然后配置VC++目录,将Qt中的lib库添加到链接中

5。编译链接成功,但执行时会出现“找不到***.dll,程序无法执行”。这是因为qt-win-opensource-4.8.3-vs2010.exe是Qt自己编译的动态库。执行程序时,必须将相应的dll复制到.exe文件中,然后才能执行.exe文件。也可以将qt-win-opensource-4.8.3-vs2010.exe安装目录下的bin目录设置为自己电脑上的环境变量。但这样的话,发布程序的时候,还是要把相应的库打包在一起,不太方便,所以我在网上查找了Qt4.8.3静态编译的方法,然后安装了该方法,执行了步骤- 逐步操作,

1。解压 www.gsm-guard.net

2。修改mkspecs\win32-msvc2010目录下的qmake.conf文件,进行以下修改

修改 QMAKE_CFLAGS = -nologo -Zm200 -Zc:wchar_t- 为 QMAKE_CFLAGS = -nologo -Zm200 -Zc:wchar_t

将文件中的 MD 替换为 MT,将 MDd 替换为 MTd

3。删除bin目录下两个S开头的文件。一种是批处理(.bat 文件)。切记不要删除setcpaths.bat文件

4。修改src\3rdparty\webkit\Source\WebCore\platform目录下的DefaultLocalizationStrategy.cpp文件第327行,进行如下修改

修改 return WEB_UI_STRING("Look Up \"\"", "Look Up context menu item with selected word").replace("", truncatedStringForLookupMenuItem(selectedString));

5。进入VS2010的命令行Visual Studio Command Prompt (2010),然后进入www.gsm-guard.net的解压目录

6。使用Configure进行配置

7。使用nmake编译,编译成功

8。打开VS2010并配置Qt Option

9。使用VS2010新建工程,编写代码,然后配置VC++目录,将Qt中的lib库添加到链接中

10。编译,编译没有问题,但是链接的时候有问题,出现以下问题,

QtCoreD.lib(qeventdispatcher_win.obj):错误LNK2019:函数“public:void __thiscall QEventDispatcherWin32Private :: doWsaAsyncSelect(int)”中引用的无法解析的外部符号_WSAAsyncSelect @16(?doWsaAsyncSelect@QEventDispatcherWin32Private@@QAEXH @Z)

我想向您寻求帮助。我不知道问题是什么。

谢谢!