草庐IT

c# - 检查 Visual Studio 项目的一致性

您有一个大型VisualStudio解决方案,其中包含数十个项目文件。您将如何验证所有项目都遵循其属性设置中的某些规则,并在添加新项目时强制执行这些规则。例如检查所有项目是否有:TargetFrameworkVersion="v4.5"Platform="AnyCPU"WarningLevel=4TreatWarningsAsErrors=trueOutputPath=$(SolutionDir)binSignAssembly=trueAssemblyName=$(ProjectFolderName)我自己知道两种方法,我将在下面的答案中添加,但我想知道人们是如何进行这种类型的项目测试

c# - 如何在 .csproj 文件中设置 MSDeploy 设置

有没有办法在ASP.NETMVC项目的.csproj文件中设置MSDeploy参数?特别是“skip”参数,它应该跳过“Temp”文件夹。-skip:objectName=dirPath,absolutePath="\\temp"..或者如何将此参数传递到MSBuild.exe参数列表中? 最佳答案 定义在项目文件中。例如:AddSkipRulesdirPath$(_Escaped_PackageTempDir)\\Temp$ 关于c#-如何在.csproj文件中设置MSDeploy设置

c# - 如何根据编译符号有条件地引用 DLL?

VisualStudio2013。我有一个外部DLL,我在csproj文件中像这样引用它:Path\To\Dll\NameOfDll.dll我希望此引用在编译器符号存在时起作用,而在该编译器符号不存在时不起作用。(为了解决下面的第一条评论,假设编译器符号称为Fred。)这个问题[ConditionalReference]让我觉得我可以将一个名为Condition的属性添加到上面显示的Reference元素,但我无法计算出赋予该属性什么值来实现我想要的效果。我很高兴能够在VSUI中执行此操作,但我会采用任何方法。 最佳答案 条件编译符

c# - 使用多个版本的 Visual Studio

我正在尝试找到一种能够在同一组项目上使用多个版本的VisualStudio的方法。我们团队的大多数人使用2008,但我正在试用2010。所有项目都是C#。据我了解,VisualStudio2010坚持升级所有项目,因此不可能将所有解决方案/项目文件保留为2008版本。实在不想对整个源码树进行分支,所以想找个办法让工程文件的多个版本共存。目前,我已经复制了所有.sln和.csproj文件,所以我有:#2008versionsSolutionName.slnProjectA.csprojProjectB.csproj#2010versionsSolutionName.vs2010.slnP

c# - 在 .NET Core 1.1 csproj 中引用 .NET 4.5 dll?

我正在运行VS2017RC4。我在我的.NETCore应用程序中添加了一个对我的.NET4.5dll的引用,它编译了。当在运行时调用引用dll的行时,我得到:System.IO.FileNotFoundException:'Couldnotloadfileorassembly'System,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089'.Thesystemcannotfindthefilespecified.'此图显示要使用4.5引用,我需要使用netstandard1.1。https://msdnsha

c# - 部分 .csproj 文件

是否可以将.csproj中的信息拆分到多个文件中?有点像partialclass功能的项目版本。 最佳答案 您不能拥有多个mastercsproj。但是因为csproj的底层布线是使用msbuild完成的,所以您可以简单地拥有多个相互导入的部分csproj。解决方案文件将看到最派生csproj。project1.csproj....project2.csproj...project.csproj-这是解决方案文件引用的主项目。...最重要的是,使用msbuildImport功能,您可以拥有部分csproj文件,其中每个文件都包含主项

c# - 如何为具有多个目标的 CSPROJ 生成 XML 文档

我有一个包含多个目标的库项目,例如在CSPROJ文件中它有:net40;net46;net461;net462;net47如果我想要这些目标框架以及Debug和Release配置的所有组合的XML文档,我必须使用BuildConfigurationManager在UI中依次选择每一个然后将其设置为为该组合构建XML文档,然后每个组合在CSPROJ中作为PropertyGroup单独列出,并带有XML文档的预期输出文件。有没有更好的办法?张贴问题和答案,因为我没有在网上其他任何地方找到这个记录 最佳答案 一种简单的方法是将Genera

c# - 项目设置中缺少 Visual Studio 2017 包选项卡

我创建了一个简单的库.NETFramework项目。我想按照描述在构建后生成NuGet包here.但是,缺少“包”选项卡,这是屏幕截图: 最佳答案 VisualStudio2017packagetabismissinginprojectsettings那是因为您的项目是.NETFramework库,它仍然使用packages.config来管理NuGet包。并且包选项卡仅受新的nuget包管理表单支持:PackageReference。.NETStandard类库或.NETCore项目默认启用PackageReference。因此,

c# - 如何将 .xproj 引用到 .csproj 中?

我有.csproj项目,我想引用其他项目.xproj,一切看起来都很好,但是当我尝试构建解决方案时,我不能,因为.dll丢失。当我从\bin\release\net452\...本身引用.dll时,一切正常。如何解决?编辑:我不是在寻找解决方法-现在我正在使用gulp和gulp.move()。它工作正常,但感觉很脏...... 最佳答案 无法直接从csproj引用xproj。您有2种可能的解决方案。A)将xproj部署为NuGet包并在您的csproj中使用NuGet包。B)将您的csproj转换为xproj。注意:xproj必须支

Nuget-带有新CSPROJ的命令行args(包括用于调试的符号)

在另一个项目中使用时,我希望能够调试我的Nuget软件包之一。过去,我在运行nuget.exe时会添加“-sym”,但是我目前正在使用新的CSPROJ(因此包装是构建的一部分),并且希望能够做同样的事情。任何人都知道,现在nuget.exe是构建过程的一部分,我如何有效地做到这一点。看答案构建任务尊重MSBUILD属性IncludeSymbols和IncludeSource用于包括符号和源。他们在打电话时设置dotnetpack和--include-symbols和/或--include-source。对于MSBUILD的调用,您会像/p:IncludeSymbols=true.如果您依靠“构