在“旧”世界中,我将定义一个AssemblyProductAttribute
和AssemblyTrademarkAttribute
,它们将在Windows资源管理器中的文件propeties中显示为“产品名称”和“法律商标” 。如何使用新的csproj构建系统在csproj中定义AssemblyProduct
在Visual Studio 2017中用于netstandard项目的新简化msbuild系统中,首选的方法是定义所有这些程序集级别属性in the csproj directly并让msbuild生成实际属性。
但似乎没有办法在csproj中定义“产品名称”和“法律商标”。或者在那里? This msbuild target似乎暗示它应该在AssemblyProductAttribute
的底层工作。
我该如何添加这两件事?
Udapte: 好,所以对于AssemblyProductAttribute可以写入<Product>Foo</Product>
右转入的csproj文件。但AssemblyTrademarkAttribute
呢?
仅仅因为他们向IDE添加了一个属性页面并不是首选的方式。特别是对于我想象的移植旧项目的程序员而言。在代码中使用具有属性的旧样式仍可使用,您可以在任何位置放置[assembly:AssemblyTrademark(“foobar”)]。 –
我认为这是首选方法,因为当你在代码中定义属性然后使用该属性页面时,你会得到一个关于重复属性的编译器错误。在VS的早期版本中,这修改了代码中的属性(AssemblyInfo.cs),但现在不再了。 – bitbonk
人们总是可以创建一个新的cs文件并将组件属性放入其中,所以它并不重要。虽然可以使用属性并定义单个导入的msbuild文件来为所有项目设置值(即使是跨越混合的f#+ c#解决方案),但msbuild集成的版本更好, –