标签: csproj

Visual Studio 8中程序集引用的Aliases属性有何用处

当我在Visual Studio 8中向项目添加程序集引用时,该引用的Aliases属性设置为"global".这个属性有什么用?为什么它设置为全局?

MSDN告诉我,这是程序集的别名列表,但不是为什么我可能想要使用此属性或为什么大多数别名为"全局".

MSDN参考

c# reference csproj visual-studio

66
推荐指数
2
解决办法
4万
查看次数

了解csproj程序集引用

我正在使用VS2010,我试图通过文件引用从本地硬盘添加一些程序集到我的C#项目.窥视csproj文件,我发现有时文件引用显示为

<Reference Include="name">
Run Code Online (Sandbox Code Playgroud)

但有时它看起来像

<Reference Include="name, Version=xxx, Culture=neutral, 
                                          processorArchitecture=MSIL">
Run Code Online (Sandbox Code Playgroud)

什么可能导致差异?


受到k3b答案的启发,我做了另一个测试.我创建了一个新的类库项目.

  1. 添加文件引用.的初始值特定版本属性面板是.该csproj文件看起来像

    <Reference Include="Name">
      <HintPath>...</HintPath>
    </Reference>
    
    Run Code Online (Sandbox Code Playgroud)
  2. 更改特定版本属性窗格.VS在Include属性中添加版本.

    <Reference Include="Name, Version=...">
      <HintPath>...</HintPath>
    </Reference>
    
    Run Code Online (Sandbox Code Playgroud)
  3. 更改特定版本属性窗格中一次.VS添加了一个子元素SpecificVersion.

    <Reference Include="Name, Version=...">
      <HintPath>...</HintPath>
      <SpecificVersion>False</SpecificVersion>
    </Reference>
    
    Run Code Online (Sandbox Code Playgroud)

所以似乎规则是:

  • 版本存在于包括属性,并且没有SpecificVersion子元素,该文件组件被配置为特定版本
  • SpecificVersion子元素只与价值附加.

有一点我还是不明白:

  • 对于我的新测试项目,如果我删除文件引用并再次添加它,它将返回到第1点的格式,这是默认值.
  • 对于我现有的项目,如果我删除文件引用并再次添加它,我会在第3点找回格式.虽然这也意味着没有使用特定版本,但我想知道为什么它不会回到第1点的格式.

c# reference csproj visual-studio-2010 .net-assembly

63
推荐指数
1
解决办法
4万
查看次数

.csproj程序集的多个提示路径

我正在打包SDK发行版的示例代码.在分发中,从代码到SDK程序集的相对路径与构建机器不同.例如:

分配

csharp/bin/assembly.dll
example/ex1/ex1.csproj
Run Code Online (Sandbox Code Playgroud)

构建机器

foo/sdk/csharp/bin/assembly.dll
bar/baz/quux/ex1/ex1.csproj
Run Code Online (Sandbox Code Playgroud)

假设我无法移动任何东西.有没有办法可以指导ex1.csproj两者兼顾

../../csharp/bin/ ../../../../foo/sdk/csharp/bin/assembly.dll

在C++中,我将依赖路径放在一个独立的属性表中,并使用SDK分发不同的版本.但是C#没有属性表,我不想维护整个项目的两个版本.

我已经看到这个问题表明我不能使用多个<HintPath>标签,所以我正在寻找另一种方法来近似相同的行为.

c# msbuild csproj visual-studio-2010

61
推荐指数
4
解决办法
2万
查看次数

升级到.NET Core 2.0:PackageTargetFallback和AssetTargetFallback不能一起使用

升级在.NET Core 1.0或1.1上正在编译和运行的项目时,将目标框架更新为.NET Core 2.0(netcoreapp2.0)会导致构建失败,并显示以下错误:

 error NU1003: PackageTargetFallback and AssetTargetFallback cannot be used together. Remove PackageTargetFallback(deprecated) references from the project environment.
Run Code Online (Sandbox Code Playgroud)

这个错误的原因是什么,以及如何解决再次构建项目的问题?

csproj nuget .net-core asp.net-core .net-core-2.0

57
推荐指数
1
解决办法
1万
查看次数

项目参考条件包含多个条件

这是我的csproj文件的片段:

<ProjectReference Include="..\program_data\program_data.csproj" Condition="'$(Configuration)'=='Debug'">
      <Project>{4F9034E0-B8E3-448E-8794-CF9B9A5E7D46}</Project>
      <Name>program_data</Name>
</ProjectReference>
Run Code Online (Sandbox Code Playgroud)

我想要做的是包括program_data.dll用于多个生成配置,例如发布和调试.

我尝试过以下操作

Condition="'$(Configuration)'=='Debug' || '$(Configuration)'=='Release'"
Run Code Online (Sandbox Code Playgroud)

但Visual Studio对此嗤之以鼻.

有没有办法可以做到这一点,或者我必须<ProjectReference>为每个构建配置分别?

c# conditional csproj include buildconfiguration

50
推荐指数
1
解决办法
2万
查看次数

检测到包降级警告(dotnet core,vs 2017)

我刚刚更新了我的解决方案的所有nuget包(dotnet core 1.1项目).

我现在收到以下警告,我真的不知道他们的意思.

NETStandard.Library降级警告


更新:我仍然收到上面提到的警告.我的Web项目警告Microsoft.NETCore.App包(见下面的截图),我的lib项目警告NETStandard.Library(见上面的截图)

Microsoft.NETCore.App降级警告

当尝试在NuGet包管理器中更新Microsoft.NETCore.App时,我收到以下错误:

NuGet升级错误

希望有人可以帮助我摆脱这些警告并设置它应有的一切,这样我就可以更新我的所有包裹.

提前致谢!

.net csproj nuget .net-core visual-studio-2017

49
推荐指数
9
解决办法
4万
查看次数

csproj文件中<Use64BitIISExpress />元素的用途是什么

当我编辑Web应用程序项目时,Visual Studio 2017(15.3.1)在csproj文件中添加了<Use64BitIISExpress />元素Project/PropertyGroup.我找不到任何文档,目的是什么,如果它影响了某些东西,当它呈现时(因为它没有任何属性).

只有我能够找到的结果才提到同名的注册表值.

有人知道这个元素的用途吗?是否在最近的Visual Studio 2017更新中引入了它?

webforms csproj visual-studio-2017

43
推荐指数
2
解决办法
8969
查看次数

Visual Studio 2017新版.csproj InternalsVisibleTo

在新的Visual Studio 2017 .csproj项目文件中从AssemblyInfo放置InternalsVisibleTo的位置?

msbuild csproj assemblyinfo visual-studio-2017

42
推荐指数
3
解决办法
8445
查看次数

您的项目未引用".NETFramework,Version = v4.6.2"框架.在"TargetFrameworks"中添加对".NETFramework,Version = v4.6.2"的引用

我无法进行单元测试.

我有下一个错误:

您的项目未引用".NETFramework,Version = v4.6.2"框架.在项目文件的"TargetFrameworks"属性中添加对".NETFramework,Version = v4.6.2"的引用,然后重新运行NuGet还原.

app.config:

<startup>
  <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2"/>
</startup>
Run Code Online (Sandbox Code Playgroud)

在项目>属性>应用程序> TargetFramework(.NET Framework 4.6.2)中

我该如何解决?

c# unit-testing mstest csproj .net-framework-version

42
推荐指数
8
解决办法
1万
查看次数

Visual Studio不支持特定的csproj文件

当我尝试打开项目的解决方案文件时,我收到此错误.解决方案是2012年文件(使用记事本检查).

在此输入图像描述

如果我单击Ok,解决方案将打开,除了一个未加载的csproject.我在UpgradeLog.htm文件中收到了一个迁移报告,该项目无法加载时出现以下错误.无法弄清楚它.

错误:

未找到此项目类型所基于的应用程序.请尝试此链接以获取更多信息:http: //go.microsoft.com/fwlink/?prd = 12395&pver = 11&sbp = ProjectTypeDeprecated&plcid = 0x409&clcid = 0x409&ar = MSDN&sar = ProjectCompatibility&o1 = 82b43b9b-a64c-4715-b499-d71e9ca2bd60

升级报告是否意味着它是以前版本的Visual Studio中的项目?它也不会在Visual Studio 2010中打开.

c# csproj visual-studio-2010 visual-studio visual-studio-2012

40
推荐指数
1
解决办法
6万
查看次数