Tag: visual studio

即使使用’System.Collections.ObjectModel’也找不到’ObservableCollection’

包含System.Collections.ObjectModel 。 Visual Studio 2012仍然说Type or namespace name ‘ObservableCollection’ could not be found. 与此问题类似 码: class ObservableClass : ObservableCollection { } 编辑:这是.NET Framework 3.5,是一个控制台应用程序

使用事务范围和查询

我正在使用oracle DB的entity framework。 我试图使用事务范围(因为我想要回滚的选项): using (TransactionScope ts = new TransactionScope()) { ….. } 问题是,当我尝试在using语句中查询时,会抛出exception: Unable to load DLL ‘oramts.dll’: The specified module could not be found. (Exception from HRESULT: 0x8007007E) 我怎么解决这个问题?

TextTransform.exe似乎只接受旧版本的C#

当我在Visual Studio中扩展T4模板时,我可以使用完整的C#3.0语法,包括LINQ表达式等。当我使用TextTransform.exe在Visual Studio外部扩展它时,它会抱怨LINQ表达式和C#3.0的其他新function。 是否有更新版本的TextTransform.exe? 我正在运行的是: C:\Program Files\Common Files\Microsoft Shared\TextTemplating\1.2\TextTransform.exe

Crystal Report:将单列数据显示为多列的行

使用C#的 Visual Studio 2008中的 Crystal Reports通常来自单列的数据 列1 VAL1 VAL2 VAL3 VAL4 val5 VAL6 val7 的Val8 但是,我想以下列格式显示我的Single列中的数据: 列1 val1 val2 val3 val4 val5 val6 val7 val8 val9 val9 val10 val11 ……. ……. ……. 请帮我在Crystal Report中获得以上输出

了解多项目(可互操作).NET解决方案中的配置文件

脚本 考虑一个包含4个项目的解决方案: 1)ProjectSql:这是一个项目,其编译输出设置为Library ,它负责访问SqlServer数据库并执行某些操作。 最终的库将能够提供API,以便管理最终应用程序的持久性。 2)ProjectWCF:这是一个项目,其编译输出设置为Library ,它负责定义服务合同,数据合同和服务实现,以便让我的应用程序托管服务。 3)ProjectMiscellaneous:这是一个项目,其编译输出设置为Library ,并且负责为其他事物提供API。 4)ProjectApp:这是一个项目,其编译输出设置为Executable (Exe) ,它负责创建我的应用程序的业务逻辑。 假设这是一个简单的控制台应用程序。 这个项目引用了所有其他项目。 假设:考虑每个项目都有自己的配置文件。 例如,ProjectSql定义连接字符串以连接到数据库等等…… 问题:配置 好吧,我的问题如下:考虑我的应用程序项目ProjectApp使用ProjectSql,好吧,每次调用ProjectSql中的操作都需要连接到数据库,在这些调用中引用ProjectSql配置文件来获取连接字符串(一个简单的调用System.Configuration.ConfigurationManager…. )。 我认为如果我的ProjectApp使用自己的配置文件调用ProjectSql中的操作,那么该操作将引用它自己的配置文件。 我的问题是: 我说的是真的吗? 配置文件是否尊重项目层次结构。

参数化查询

我是新的Visual C#,我对如何编写参数化查询感到困惑。 这是没有它们的代码, using System; using System.Windows.Forms; using System.Data.SqlClient; namespace Insert_Data { public partial class Form1 : Form { private void button1_Click(object sender, EventArgs e) { SqlConnection con = new SqlConnection(“Data Source=ZTABASSUM\\SQLEXPRESS01;Initial Catalog=IntroDataBase;Integrated Security=True”); con.Open(); SqlCommand sc = new SqlCommand(“Insert into employee values (‘”+ textBox1.Text +”‘ , ” + textBox2.Text + “, ‘” + textBox3.Text […]

当代码编译良好时,Resharper“无法解析符号”

我相信,错误信息与Serilog ,而是因为代码/程序集/程序包特定的结构/修饰符等。 因此,问题是当Visual Studio导航(通过Go to Definition命令)到元数据并编译好代码(包括显示方法)时, Resharper显示错误(并且代码(来自引用的程序集)无法导航到)描述也成功)。 该方法在程序集中定义如下: namespace Serilog { public static class Log { public static ILogger ForContext(); 我目前的Visual Studio版本:2017( 15.4.4 ) Resharper : 2017.2.2 一般来说,一切都适合我,但由于“丢失”的定义,我的对象定义(Logger)在整个代码中表示未解析,所以我的所有滚动条都是红色的,带有错误注释,这非常令人困惑。 有什么想法吗?

Visual Studio的当前构建操作类型 – Microsoft.VisualStudio.Shell.Interop

在某些扩展中,我们实现了用于使用AdviseUpdateSolutionEvents注册调用者的IVsUpdateSolutionEvents2和IVsSolutionBuildManager2 例如,在任何构建操作开始之前调用此方法: public int UpdateSolution_Begin(ref int pfCancelUpdate) { … } 但是,还需要获取当前构建操作的状态或类型,例如:build / rebuild / clean / deploy 可用和已知的变体: BuildEvents 使用Events.BuildEvents,我可以订阅OnBuildBegin,例如: _buildEvents.OnBuildBegin += new _dispBuildEvents_OnBuildBeginEventHandler((vsBuildScope Scope, vsBuildAction Action) => { buildType = (BuildType)Action; }); 并在任何地方使用buildType,因为vsBuildAction提供了所有必要的信息 但是UpdateSolution_Begin / UpdateSolution_StartUpdate首先作为优先级使用advising方法调用,因此buildType设置太晚了.. 我们也可以使用这个OnBuildBegin而不是UpdateProjectCfg_Begin / UpdateSolution_StartUpdate,但是我们的处理也需要尽快与优先调用者一起使用 IVsUpdateSolutionEvents4 IVsUpdateSolutionEvents4.UpdateSolution_BeginUpdateAction提供dwAction并在解决方案构建期间每个更新操作开始之前触发 – 在第一个UpdateProjectCfg_Begin之前 这正是我需要的! 因为dwAction我可以用VSSOLNBUILDUPDATEFLAGS查看 但是:(它出现在VS2012,我们的扩展支持VS2010和更高……所以也需要2010版本的变种 UpdateProjectCfg_Begin IVsUpdateSolutionEvents2.UpdateProjectCfg_Begin还提供dwAction(参见VSSOLNBUILDUPDATEFLAGS )并可用于2010版本,但它与第一​​个BuildEvents变体相同 – 处理时间太晚(并且不太适合我们的任务) 题 我找不到这方面的文档,但VSSOL可以为VS2010提供VSSOLNBUILDUPDATEFLAGS ,所以我认为应该是将其作为构建操作的当前状态的变体,例如,对于IVsHierarchy等__VSHPROPID和GetProperty […]

创建Visual Studio扩展时如何在“源代码管理历史记录”窗口中获取所选项?

我开发了一个Visual Studio扩展 。 我将一个按钮附加到源控制历史窗口的上下文菜单(菜单上带有’变更集详细信息’,’比较’等等) 我需要从窗口中获取所选的历史记录项目 ,但无法弄清楚如何做到这一点。 更新: 我正在使用团队基础服务器作为源代码控制。 这是我想要访问的窗口的屏幕截图。 截图 我找到了一种方法来检索窗口对象的数据,但我仍然有一些问题: package.FindToolWindow(typeof(/*I don’t know the type of the window*/), 0, false); (包是Microsoft.VisualStudio.Shell.Package类的实例) 源控制历史窗口的类型是什么(屏幕截图中的那个)? 这是我认为的难题的缺失部分。 请帮忙:)谢谢。

在CodeRush中自动添加`using`

我刚刚为Visual Studio安装了CodeRush Pro(评估试用版),到目前为止我可以说我喜欢它。 与Resharper相比,我只缺少一种类型的function。 这是CodeRush处理using的方式。 当我输入一些未在使用中列出的某个包中声明的类名时,CodeRush将其红色标记为错误(它是什么),但是如果我将鼠标hover在它上面,它不会让我添加使用,它只是说它是“未申报的元素”。 我必须使用VS默认使用添加(将插入符号移动到标识符,将光标hover在第一个字母下面显示的那个非常小的框中,单击出现的按钮并选择例如using System form下拉菜单)。 当我将光标hover在突出显示的“问题”(即未声明的元素)上时,有没有办法配置CodeRush以提供mi添加? 第二部分是Resharper有一些叫做类型名称完成的思考。 它有一些改进的intellisense。 假设您的文件中没有using声明。 然后键入ICompar类的ICompar并按CTRL + SPACE。 因为没有建议。 但是使用Resharper,您可以按CTRL + ALT + SPACE,即使它们没有使用,您也可以获得以ICompar开头的所有类的建议。 当您选择其中一个时,会自动为您添加正确的使用方法。 有没有办法让CodeRush以这种方式运行?