我经常使用notepad ++来编辑csproj文件.我总是需要转到语言菜单并选择XML以获得语法突出显示.
是否可以配置notepad ++以自动将csproj文件视为XML?
我从源代码管理中检查了一个C#代码分支.它包含各种文件夹中的50个项目.没有找到现有的.sln文件.
我打算创建一个空白解决方案来添加现有解决方案.用户界面只允许我一次完成这个项目.
有什么我想念的吗?我想指定一个*.csproj文件列表,并以某种方式提出一个包含所有项目的.sln文件.
今天,我突然在我的*.csproj文件中找到了这个
< UseVSHostingProcess> False </UseVSHostingProcess>
Run Code Online (Sandbox Code Playgroud)
当我把它与最新的比较它被加入
<PropertyGroup> </ Property Group>
Run Code Online (Sandbox Code Playgroud)
我在谷歌搜索了很多,发现 http://msdn.microsoft.com/en-us/library/vstudio/ms171262.aspx,我不太明白.
有人可以解释一下UseVSHostingProcess是什么以及为什么需要它.
在VS 2010中,<MvcBuildViews>true</MvcBuildViews>
如果使用Entity Framework ,更改MVC2项目的.csproj文件会导致错误.
无法加载类型'System.Data.Entity.Design.AspNet.EntityDesignerBuildProvider'.C:\ Windows\Microsoft.NET\Framework\v4.0.30319\Config\web.config 129
我想在调试时构建视图,我也希望我的项目能够编译!
到目前为止,VS2017已将多个project.json
/ .xproj
基于项目正确转换为新.csproj
格式.
我还想将新.csproj
格式.csproj
用于以前仅针对.NET Framework的旧项目(即它们不能与dnx/dotnet CLI一起使用).
似乎即使一个项目仍然只针对.NET Framework,<PackageReference>
一个易于编辑的.csproj
文件的好处似乎值得(希望不是太大)麻烦.
这可以直接与Visual Studio 2017一起使用吗?
如果没有,需要采取哪些手动步骤?
突然之间,我在解决方案中的3个项目中遇到以下错误:
Error NU1105 Unable to find project information for 'C:\code\example\src\libs\example.I18n\example.I18n.csproj'.
The project file may be invalid or missing targets required for restore.
Run Code Online (Sandbox Code Playgroud)
只有项目中的内容发生了变化才会发生一些数据库更改,但过去从未遇到过任何问题.只有我更新到Visual Studio 2017 15.5的其他内容才会导致问题?
我尝试过 - 从源代码管理中删除和重新克隆解决方案.但仍然得到错误.我的同事机器没有问题所以必须是本地的东西.
其中一个.csproj文件的示例如果有帮助:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net452</TargetFramework>
<AssemblyName>Example.I18n</AssemblyName>
<PackageId>Example.I18n</PackageId>
<GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
<GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Mvc.Core" Version="1.1.2" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="1.1.1" />
<PackageReference Include="MessageFormat" Version="1.0.1" />
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'net452' ">
<Reference Include="System" />
<Reference Include="Microsoft.CSharp" />
</ItemGroup>
</Project>
Run Code Online (Sandbox Code Playgroud) csproj visual-studio nuget nuget-package-restore visual-studio-2017
我下载了一个Visual Studio项目,但我无法在我的Visual Studio 2010副本中打开它.无用的错误消息:
此安装不支持项目类型.
打开项目类型需要什么软件?它没有说.
我实际去看了.csproj
文件,它告诉我它的项目类型
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
Run Code Online (Sandbox Code Playgroud)
我是想从这个随机字符串中识别出我需要什么软件?这绝对是荒谬的.
我有一个非常讨厌的问题,我找到了解决方案,但我想问你为什么它的行为......
我正在使用Visual Studio 2012和TFS 2012.一切都很好,但有一天我发现了一个问题.当我在我的解决方案中添加了一个新项目时,每次重新打开解决方案时,我总是会收到此消息:
此项目文件...未绑定到源代码管理,但该解决方案包含其源代码控制绑定信息.你想要...
无论我做了什么,我仍然有这个信息.在File-> Source Control-> Advanced-> Change Source Control ...'窗口中,每件事情都很好.正确创建好内容的*.vspscc文件.我正在删除绑定并一次又一次地添加它,但它没有帮助.我一直有这个烦人的消息......
然后我发现了*.csproj文件中的一个区别.我有问题的项目没有以下XML数据:
<SccProjectName>SAK</SccProjectName>
<SccLocalPath>SAK</SccLocalPath>
<SccAuxPath>SAK</SccAuxPath>
<SccProvider>SAK</SccProvider>
Run Code Online (Sandbox Code Playgroud)
当我添加这些行时,问题就解决了......
有没有人可以告诉我为什么那些缺失的元素以及为什么它们会引发关于解决方案绑定的烦人消息的永无止境的问题?
谢谢
新的.csproj格式包括对经典文件的一些重大改进,包括与NuGet包管理的紧密集成以及明显不那么冗长的结构.我希望在使用.NET Framework 4.6和ASP.NET的同时获得这些好处(因为我的项目依赖于尚未生成.NET Core版本的Umbraco).
最大的挑战似乎是调试体验 - ASP.NET Core项目期望运行dotnet核心应用程序并为IIS实例设置反向代理.这个过程与.NET Framework模型完全不同,我不知道从哪里开始尝试在Visual Studio中设置调试.
有没有办法让这两个项目模型混合使用?
有没有人知道以编程方式读取VS2008 csproj文件中的引用列表的方法?MSBuild似乎不支持此功能.我试图通过将csproj文件加载到XmlDocument来读取节点,但XPath搜索不返回任何节点.我正在使用以下代码:
System.Xml.XmlDocument projDefinition = new System.Xml.XmlDocument();
projDefinition.Load(fullProjectPath);
System.Xml.XPath.XPathNavigator navigator = projDefinition.CreateNavigator();
System.Xml.XPath.XPathNodeIterator iterator = navigator.Select(@"/Project/ItemGroup");
while (iterator.MoveNext())
{
Console.WriteLine(iterator.Current.Name);
}
Run Code Online (Sandbox Code Playgroud)
如果我可以获取ItemGroups列表,我可以确定它是否包含参考信息.