直接问题:如果我有两个具有相同名称(但在不同的目录中)的文件,似乎只有Visual Studio 2005可以处理这个透明的? VS 2008&2010需要一些调整? 除了我的命名规则,我做错了什么? 背景: 我正在开发C ++统计库…我有两个文件夹: / Univariate Normal.cpp Normal.h Beta.cpp Beta.h Adaptive.cpp Adaptive.h / Multivariate Normal.cpp Normal.h Beta.cpp Beta.h Adaptive.cpp Adaptive.h 我需要支持交叉编译 – 我正在使用g ++ / make将这些相同的文件编译到Linux中的库中。 他们工作得很好。 我一直在使用Visual Studio 2005,但没有问题,但我需要升级到Visual Studio 2008或2010(目前stream口水nVidia的nsight工具)。 但是,如果我将文件添加到具有相同名称的项目(即使它们在不同的目录中),我遇到了麻烦。 我愿意改变我的命名约定,但我很好奇,如果别人遇到这个问题,并已发现任何有据可查的解决scheme? 如果我从2005年的项目升级到2010年的项目,我感到进一步的惊讶,看起来VS 2010能够正确处理在不同目录中具有相同名称的两个源文件; 但是,如果我删除重复的文件之一,然后将其添加回项目,我受到以下警告: Distributions \ Release \ Adaptive.obj:警告LNK4042:多次指定对象; 额外部分被忽略 现在我有指定为$(ProjectName)\ $(configuration)的中间目录 – 我需要我的对象文件在我的源代码树不同的位置。 所以我可以看到为什么要将对象文件复制到对方,但是当项目从2005年转换到2008年或2010年时,会添加一些条件编译: <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(IntDir)%(Filename)1.obj</ObjectFileName> […]
我在VS2010中有一个网站(不是解决scheme)types的项目。 我也有这个文件夹configuration为IIS7中的网站。 当我导航到http://myproject.local时,我可以浏览到我的网站 这certificateIIS正在服务的网站确定。 现在,当我尝试从VS2010运行项目,所以我可以debugging,我得到以下错误: 无法在Web服务器上启动debugging。 启动的URL的IIS工作进程当前不在运行。 我有站点属性设置为在正确的URL调用自定义服务器(IIS)。 什么是Visual Studio意味着启动的URL的IIS工作进程没有运行,当清楚IIS是服务器的网站。
我有大约12个Visual Studio 2010项目,我一直在使用TFS版本库进行版本控制。 最近,我去度假,并将我的电脑的操作系统升级到Windows 7 64位。 我已经重新安装了Visual Studio,并且可以连接到我的Team Foundation Server并查看我的项目…只有我的绑定无法正常工作。 大多数情况下,我的文件似乎都不受源代码控制,但是在一些项目中,我的源代码pipe理绑定在根文件夹中是正常的,但不能在项目根目录下的子文件夹中工作。 我已经尝试撤消绑定,从源代码pipe理打开,并删除文件夹,并获得最新版本。 这些都没有解决这个问题。 任何想恢复我的绑定? UPDATE 捅了一下后,我可以看到在我的“无效”项目的path中似乎有一个额外的文件夹…我不知道它是如何进入,但这似乎是抛弃了我的映射。
有没有像C#中的区域一样在CSS文件中定义区域的方法? 就像在C#中一样,你可以像下面这样定义区 #region My Region //your code here #endregion 我的问题是我不想为我的asp.net项目使用单独的CSS文件,但我也想organisze所以我可以定义特定的部分,如一个主页CSS和一个用于FormUser等等,所以很容易排除故障需要的时候。 可能吗?
我们已经设置了几个发布configuration文件,用于将Web应用程序部署到各种服务器,并且一键部署都可以工作。 但是,w发现即使整个解决scheme都在源代码pipe理(svn)下,configuration文件似乎也没有被结转,所以我们需要手动在每个开发人员的机器上重新创buildconfiguration文件。 看起来,因为configuration文件只存在于当前加载的解决scheme中,所以他们必须存储在解决scheme文件的某个地方,但是当其他人执行更新来下载代码时,他们不会继续执行。 我猜他们所在的任何文件都不是我们在源代码控制项目中所覆盖的文件,但我一直无法弄清楚哪一个文件。 有人必须知道发布configuration文件的存储位置 – 是否有任何方法将它们从一台机器复制到另一台机器,所以我们不必为每个开发人员重新input它们。
直到VS2008,您将自己的C ++项目依赖项设置在解决scheme文件( Project Dependencies … )中,如果(默认情况下)链接程序选项 Properties -> Linker -> General : Link Library Dependencies = Yes Visual Studio Build将自动链接到该项目所依赖的所有项目(DLL,LIB)的.lib文件中将“静态”链接。 注意:微软改变了VS2010中依赖关系的工作方式,现在你应该把依赖关系直接添加到项目中 Common Properties -> Framework and References : (List of depenencies) (each lib/dll has a separate option: Project Reference Properties -> Link Library Dependencies : True|False 我很好。 这不是这个问题的关键。 (这里有一个解释: 灵活的项目对项目参考 。) 但仍然可以在“解决scheme”级别上定义项目依赖关系,并且“ General链接器”选项也仍然存在。 但是它不起作用。 看到: […]
我在Visual Studio 2010的Mvc 3.0.0.0项目中使用DotNetOpenAuth(它引用System.Web.Mvc版本1.0.0.0)。 我正在使用程序集绑定redirect,如下所示: <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0" /> </dependentAssembly> </assemblyBinding> </runtime> 一切工作正常,除了代码分析,给了我以下错误: – CA0001:读取模块X时遇到以下错误:无法parsing程序集引用:System.Web.Mvc,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35。 和 CA0058:找不到引用的程序集“System.Web.Mvc,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35”。 这个程序集是分析所需要的,并被引用:X. 有没有办法让代码分析工具尊重程序集绑定redirect?
System.Diagnostics.Contracts.ContractException不能在我的testing项目中访问。 注意这个代码纯粹是自己搞乱了Visual Studio的新版本,但是我想知道我做错了什么。 我使用VS的专业版,所以我没有静态检查。 为了仍然使用代码合约(我喜欢),我认为我的方法可以工作的唯一方法是捕获在运行时抛出的exception,但我不觉得这是可能的。 testing方法 [TestMethod, ExpectedException(typeof(System.Diagnostics.Contracts.ContractException))] public void returning_a_value_less_than_one_throws_exception() { var person = new Person(); person.Number(); } 方法 public int Number() { Contract.Ensures(Contract.Result<int>() >= 0); return -1; } 错误 错误1“System.Diagnostics.Contracts.ContractException”无法访问 由于其保护水平。 编辑 经过一些更多的思考,我已经得出结论中讨论的结论,以及以下内容。 给定一个方法,如果这个要求可以用代码合同的forms来表示,我会这样写testing。 [TestMethod] [ExpectedException(typeof(ArgumentException))] public void value_input_must_be_greater_than_zero() { // Arrange var person = new Person(); // Act person.Number(-1); } 这将确保合同是代码的一部分,并不会被删除。 这将要求代码合同实际上抛出指定的例外。 […]
我在Visual Studio 2010中编写了一些unit testing。我可以使用“在当前上下文中运行所有testing”来运行所有的testing。 但是,如果我编写一个新的unit testing,它不会被环境拾取 – 换句话说,我无法通过运行所有testing或其他任何地方在testing列表编辑器中find它。 如果我卸载项目然后重新加载它; 新的testing可以运行。 当我添加一个unit testing时,我只是添加一个新的方法到一个已经存在的TestClass并用[TestMethod]属性装饰它 – 没有什么奇特的。 什么可能导致这种行为,我如何使其工作?
在Visual Studio 2008中 ,“例外”窗口具有两列带checkbox的列: 与此形成对比的是,在Visual Studio 2010中,该列似乎缺less: 我的问题是: 这是我的机器上的configuration问题还是“按devise”? 我是否有机会重新启用列或以不同的方式模仿“用户未处理”的行为? 更新: 以下扩展安装在我的Visual Studio 2010安装中: PowerCommands for Visual Studio 2010 生产力电动工具 Visual Studio颜色主题编辑器 的VisualSVN ReSharper的