问题标签 [visual-studio-project]

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 投票
1 回答
39 浏览

dll - 为什么我的 DLL 引用恢复到以前的设置?

我有一个需要保持同步的 .EXE/.DLL 对。

.EXE 具有对 DLL 的引用。

在实践中,似乎我需要做的就是将最新的 DLL 复制到最新的 EXE 所在的文件夹中,以让 EXE 在运行时引用正确的 DLL(就在它旁边的那个)。

但是,每当我更新 .EXE 时,都必须更新 .EXE 项目以显式引用新的 DLL。我这样做:

注意:没有这些步骤,.EXE可以正常编译,但在引用旧的并与新的同时存在时,它不会运行。

潜在的问题是,每当我回到 .EXE 项目时,它都会恢复到引用旧 DLL ——而不是我最近设置它引用的那个!IOW,我用一个路径删除版本 1.3.3889.27538,用另一个路径(DLL 项目的输出文件夹)中的版本 1.4.0.8 替换它,并且 .EXE 编译(并运行)很好,但是当我再次打开 EXE 项目时,DLL 再次引用 DLL 的 1.3.3889.27538 版本,指向该版本的路径。

每当我转身时,是否有一些设置顽固地恢复到旧的 DLL?

我不知道这是否重要,但是EXE项目中DLL引用的“复制本地”属性设置为“真”

更新

注意:当我删除然后添加回 DLL 引用(到最新版本的 DLL)然后构建 EXE 时,我必须在一个对话框中选择“确定”,通知我,“保存项目用户选项时发生错误对于文件“ .csdproj.user

然后我必须在“将文件另存为”对话框中选择“保存”按钮来保存项目文件。一旦我选择“是”来替换已经存在的文件,它就会构建得很好。

隐含?Es importante o de nada?

0 投票
1 回答
2274 浏览

c# - 以编程方式添加 Visual Studio 解决方案和项目

我正在尝试生成 Visual Studio 2010 解决方案并从自定义模板添加 VS 2010 项目!

我的要求: 1. 生成一个 VisualStudio 解决方案 2010,将其保存到一个文件夹,从我自己的模板中添加 VisualSTudio 项目(我有 3 个不同的模板:ClassLibrary、WinForms、WCFService)

我的问题:我实现了一些工作一半的东西!

  1. 解决方案创建正确,但“.sln”文件的内容很差!未添加项目参考 >

  2. 在根文件夹中,它还为我不想要的 C# 项目创建了一个解决方案。我只想要 MainSolution 文件。(在我的情况下是“TestSolution.sln”)。如何停止为创建的每个项目创建解决方案文件?

下面是我使用的源代码:
//for 解决方案: 在此处输入图像描述

//添加一个项目 在此处输入图像描述

我是否使用了错误的接口?为什么 调用后vs2010Solution.AddFromTemplate(..)返回null,但没有抛出异常?项目也在文件夹结构中正确创建!但在运行时,我无法按原样检查项目列表“vs2010Solution.Projects” null!(正确添加项目后)。我需要添加项目,因为我需要以编程方式添加一些引用,我尝试在下一行中执行此操作,但它不起作用,因为vs2010Projectis null)。

所以我正在尝试包装 VisualStudio 2010 自动化模型,以创建解决方案并添加项目!但是真的不行!我是否需要在某个时候将 EnvDTE.Project 转换为“VSLangProj.Project”?我想为 VS2010 创建一个干净的包装器,然后为 VS 2012 创建一个!任何帮助深表感谢。

0 投票
1 回答
2432 浏览

c# - 将 SSL dll 导入项目

我有一个从旧系统导入的项目。这段代码变得最有问题

起初我收到错误:

System.TypeInitializationException:“OpenSSL.Native”的类型初始化程序引发异常。---> System.Exception: 无效的 libeay32.dll 版本,期望 0.9.8a 开发,得到:1.0.0 版本

我在项目中导入了最新的 SSL 库并收到此错误(在 Crypto = new GameCrypto() 行上)

System.DllNotFoundException:无法加载 DLL 'libeay32.dll':应用程序无法启动,因为它的并排配置不正确。请查看应用程序事件日志或使用命令行 sxstrace.exe 工具了解更多详细信息。(来自 HRESULT 的异常:0x800736B1)

在 PROJECT_NAME.Native.BF_set_key(IntPtr _key, Int32 len, Byte[] data) 在 PROJECT_NAME.Main.Blowfish.SetKey(Byte[] data) 在 PATH\Main\Blowfish.cs:PROJECT_NAME.Main.GameCrypto 的第 85 行。 PATH\Main\Blowfish.cs: 15 行中的 .ctor(Byte[] key) PROJECT_NAME.Main.GameClient..ctor(Boolean Robot) 在 PATH\Main\GameClient.cs:line 48

我能够解决这个问题,但我陷入了这个问题(在新的 OpenSSL.Crypto.DH() 线上)

System.TypeInitializationException:“OpenSSL.Core.Native”的类型初始化程序引发了异常。---> System.DllNotFoundException: Unable to load DLL 'ssleay32': The operating system cannot run 。(来自 HRESULT 的异常:0x800700B6)

在 OpenSSL.Core.Native.SSL_library_init() 在 OpenSSL.Core.Native..cctor() --- 内部异常堆栈跟踪结束 --- 在 OpenSSL.Core.Native.DH_new() 在 OpenSSL.Crypto.DH。 PATH\Main\GameClient.cs:line 49 System.NullReferenceException 中 PROJECT_NAME.Main.GameClient..ctor(Boolean Robot) 的 .ctor():对象引用未设置为对象的实例。在 PATH\Main\GameWorker.cs:line 33 中的 PROJECT_NAME.Main.GameWorker.ConnectionHandler(StateObj S)

0 投票
1 回答
41 浏览

visual-studio - Visual Studio 引用另一个正在开发和发布配置的项目

我目前正在开发 2 个解决方案。一个解决方案是我的主要应用程序,其中有几个项目(DAL、BL、UI 和 CORE)作为层,第二个解决方案是我正在开发的类库(可以被任何项目使用,而不仅仅是我的第一个解决方案) - 第一个解决方案使用该类库。

由于我的第二个解决方案(类库)仍在开发中(测试它的最佳方法是在读取开发应用程序上),在第一个解决方案中,我参考了第二个解决方案的调试 DLL - 所以当我在工作时对第二个解决方案进行更改我已经可以看到它们会影响实际应用程序。

我想知道在这种情况下工作的最佳实践是什么?并且在发布我的第一个解决方案(应用程序)时,我如何使其仅用于发布,采用 DLL 的发布版本而不是我指向的调试版本?

0 投票
0 回答
311 浏览

visual-studio-2013 - 创建至少一个筛选器后,动态包含的文件未显示在 Visual Studio C++ 2013 解决方案资源管理器中

介绍

在我们的项目中,Visual Studio C++ 被用作代码编辑器,而构建被委托给支持多个目标平台的基于 GNU make 的构建系统。从 Visual Studio 到构建系统的构建委托由通用 MSBuild 属性表实现,该属性表包含在每个 VS 项目文件中。(集成基本上是通过设置一些特定于 NMake 的属性来实现的,例如NMakeBuildCommandLine等)。通用集成属性表的附加工作是将特定于项目的资源文件动态添加到解决方案资源管理器中的项目子树。

多年来,在 Visual Studio 2010 和 Visual Studio 2012 中,动态添加特定于项目的资源文件一直运行良好。不幸的是,该功能在 Visual Studio 2013 中已停止工作。

最初设定

以下精简示例演示了该问题。我们的最小设置包含以下 5 个文件:

  1. minimal_sample.sln:解决方案文件,由 VS 2010 创建,Release|Win32删除了对项目配置的引用(单击此处查看代码清单)
  2. minimal_sample.vcxproj: 项目文件,详细说明见下文(点击这里查看代码清单)
  3. statically_included_header.h: 最小示例 C++ 头文件(内容无关)
  4. statically_included_impl.cpp: 最小示例 C++ impl 文件(内容无关)
  5. text_file.txt: 最小示例资源文件(内容无关)

项目minimal_sample.vcxproj文件被创建为一个空的 VS C++ 2010 项目,之后对其应用了以下修改:

  • 配置Release|Win32已删除
  • Start of static file inclusion code静态包含的文件是使用 VS 2010 添加的(由和End of static file inclusion codeXML 注释分隔的部分 )
  • 添加了负责添加动态资源文件的 MSBuild 代码部分(由Start of dynamic file inclusion codeEnd of dynamic file inclusion codeXML 注释分隔的部分)

以下代码清单显示了minimal_sample.vcxproj文件的相关部分:

手动复制步骤

只要不使用过滤器,上述最小示例在本文中提到的任何 Visual Studio 版本中都可以正常工作,即:VS 2010、VS 2012 和 VS 2013。

一旦添加了过滤器minimal_sample.vcxproj- 无论是空过滤器、静态包含文件的过滤器还是动态包含的资源文件text_file.txt- 重新启动后(或之后),动态包含的资源文件都会隐藏在 Visual Studio 2013 中卸载项目/重新加载项目序列)。但是,该文件在 Visual Studio 2010 和 Visual Studio 2012 中仍然可见。

一旦minimal_sample.vcxproj.filters文件被删除,过滤器就会被删除,但动态包含的资源文件text_file.txt会再次可见。

问题

  1. 观察到的 VS 2010/2012 和 VS 2013 的行为差异是错误还是“功能”?甚至是执行不力的错误修复?
  2. 对于动态包含的文件,是否有让 VS 2013 表现为 VS 2010/2012 的解决方法?
0 投票
2 回答
122 浏览

visual-studio - 获取Visual Studio实验实例中创建的项目路径

我正在开发一个 Visual Studio 扩展包。每次我测试运行时,都会打开一个 VS 的实验实例。我在实验实例中创建了一个项目;如何获取在实验实例中创建的项目的路径?

0 投票
0 回答
94 浏览

.net - 如何查看已加载的 Visual Studio 项目的所有属性?

我目前正在努力解决我在自定义项目属性方面遇到的问题,该属性应该是从外部构建目标文件中导入的。

该属性在导入的文件中定义如下:

不过,显然,我试图用这个变量做的事情似乎并没有奏效。让我猜测,由于某种原因,该属性没有按应有的方式加载项目。

因此,我希望能够从 Visual Studio 中检查此属性的当前值,以确保其设置正确。

有没有办法可以获取给定项目的属性列表及其内存值?

0 投票
1 回答
1243 浏览

visual-studio - Visual Studio 2015 - 我可以为仅客户端开发创建一个支持 bower 和 AngularJS 智能感知的项目吗?

我想使用 VS 2015 进行一些仅限客户端的 Web 开发。我不需要任何服务器端代码,也不需要任何 .net 代码编译。但是,我想要javascript intellisense,特别是在这种情况下angularjs(大概使用 _references.js 文件)和bower support

我如何在 Visual Studio 2015 中实现这一点?我一直在查看 ASP.net 5 模板:

在此处输入图像描述 我能看到的最接近东西是“空”选项,它没有控制器。这在树中也有一个可见的小“依赖”箭头,添加 bower.json 和 _references.js 似乎微不足道(根据我有限的理解,这是让智能感知正常工作的原因。)

在此处输入图像描述

但是,它也有“Startup.cs”,可以设置我的用例不需要的各种服务。当我构建 xproj 时,“天真”地删除此文件会给出错误 CS5001 程序不包含适合入口点的静态“主要”方法。与 .csproj 不同,无法更改项目的输出类型,而且无论如何,我都不想创建 .dll。我想下一步可​​能是使用 Microsoft.DNX.targets 的自定义版本,但在这一点上,我似乎有点偏离常规。

所以,一个“网站”...

在此处输入图像描述 ...没有“Startup.cs”,但它似乎也无法对 bower 做任何事情。

在此处输入图像描述

如果它们可以提供相同的功能,我也很想知道如何在早期版本的 ASP.net 的项目/模板中执行此操作。

0 投票
1 回答
1234 浏览

c# - 使用 c# Process.Start() 打开 Visual Studio 项目

在我的情况下,我有一个包含 Visual Studio 项目的 zip 文件(csproj 文件、bin 和 obj 文件夹,...)。此 zip 从数据库中导出,并使用 .NET C# 在自定义临时目录中解压缩。当我使用 Process.Start() 方法启动 csproj 文件时出现问题。VS加载项目,但项目文件没有找到,并标有感叹号。在我检查之后,似乎 csproj 文件是从默认的 Temporaly Internet Files 文件夹加载的。如果我打开 Windows 资源管理器并转到我的自定义目录并双击该文件,则项目已正确加载。有谁知道如何告诉 Visual Studio 使用 C# 代码加载我的项目?

0 投票
2 回答
146 浏览

winforms - 如何在没有 Visual Studio 的情况下创建 af# windows 应用程序(无 cmd 窗口)

是否可以在不使用 Visual Studio 的情况下在 F# 中创建一个不会打开 CMD 窗口的 Winforms 应用程序?

我知道我可以简单地创建一个 VS 项目并将“输出类型”设置为“Windows 应用程序”。但我真的很喜欢简单地启动任何类型的文本编辑器并开始破解的方法。