当我在Visual Studio 8中向项目添加程序集引用时,该引用的Aliases属性设置为"global".这个属性有什么用?为什么它设置为全局?
MSDN告诉我,这是程序集的别名列表,但不是为什么我可能想要使用此属性或为什么大多数别名为"全局".
我正在使用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答案的启发,我做了另一个测试.我创建了一个新的类库项目.
添加文件引用.的初始值特定版本的属性面板是假.该csproj文件看起来像
<Reference Include="Name">
<HintPath>...</HintPath>
</Reference>
Run Code Online (Sandbox Code Playgroud)更改特定版本的属性窗格真.VS在Include属性中添加版本.
<Reference Include="Name, Version=...">
<HintPath>...</HintPath>
</Reference>
Run Code Online (Sandbox Code Playgroud)更改特定版本的属性窗格中假一次.VS添加了一个子元素SpecificVersion.
<Reference Include="Name, Version=...">
<HintPath>...</HintPath>
<SpecificVersion>False</SpecificVersion>
</Reference>
Run Code Online (Sandbox Code Playgroud)所以似乎规则是:
SpecificVersion子元素,该文件组件被配置为特定版本SpecificVersion子元素只与价值附加假.有一点我还是不明白:
我正在打包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>标签,所以我正在寻找另一种方法来近似相同的行为.
升级在.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文件的片段:
<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>为每个构建配置分别?
我刚刚更新了我的解决方案的所有nuget包(dotnet core 1.1项目).
我现在收到以下警告,我真的不知道他们的意思.
更新:我仍然收到上面提到的警告.我的Web项目警告Microsoft.NETCore.App包(见下面的截图),我的lib项目警告NETStandard.Library(见上面的截图)
当尝试在NuGet包管理器中更新Microsoft.NETCore.App时,我收到以下错误:
希望有人可以帮助我摆脱这些警告并设置它应有的一切,这样我就可以更新我的所有包裹.
提前致谢!
当我编辑Web应用程序项目时,Visual Studio 2017(15.3.1)在csproj文件中添加了<Use64BitIISExpress />元素Project/PropertyGroup.我找不到任何文档,目的是什么,如果它影响了某些东西,当它呈现时(因为它没有任何属性).
只有我能够找到的结果才提到同名的注册表值.
有人知道这个元素的用途吗?是否在最近的Visual Studio 2017更新中引入了它?
在新的Visual Studio 2017 .csproj项目文件中从AssemblyInfo放置InternalsVisibleTo的位置?
我无法进行单元测试.
我有下一个错误:
您的项目未引用".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)中
我该如何解决?
当我尝试打开项目的解决方案文件时,我收到此错误.解决方案是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
csproj ×10
c# ×6
.net-core ×2
msbuild ×2
nuget ×2
reference ×2
.net ×1
asp.net-core ×1
assemblyinfo ×1
conditional ×1
include ×1
mstest ×1
unit-testing ×1
webforms ×1